public abstract class AbstractListDelimiterHandler extends Object implements ListDelimiterHandler
 An abstract base class for concrete ListDelimiterHandler
 implementations.
 
This base class provides a fully functional implementation for parsing a value object which can deal with different cases like collections, arrays, iterators, etc. This logic is typically needed by every concrete subclass. Other methods are partly implemented handling special corner cases like null values; concrete subclasses do not have do implement the corresponding checks.
NOOP_TRANSFORMER| Constructor and Description | 
|---|
AbstractListDelimiterHandler()  | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
escape(Object value,
      ValueTransformer transformer)
Escapes the specified single value object. 
 | 
protected abstract String | 
escapeString(String s)
Escapes the specified string. 
 | 
Iterable<?> | 
parse(Object value)
Parses the specified value for list delimiters and splits it if
 necessary. 
 | 
Collection<String> | 
split(String s,
     boolean trim)
Splits the specified string at the list delimiter and returns a
 collection with all extracted components. 
 | 
protected abstract Collection<String> | 
splitString(String s,
           boolean trim)
Actually splits the passed in string which is guaranteed to be not
 null. 
 | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitescapeListpublic Iterable<?> parse(Object value)
Iterable. It is the
 responsibility of this method to return an Iterable which
 contains all extracted values. Depending on the type of the passed in object the following
 things happen:
 split() method.Iterable interface, the
 corresponding Iterator is obtained, and contained elements are
 added to the resulting iteration.Iterable objects.parse in interface ListDelimiterHandlervalue - the value to be parsedIterable allowing access to all extracted valuespublic Collection<String> split(String s, boolean trim)
trim flag determines
 whether each extracted component should be trimmed. This typically makes
 sense as the list delimiter may be surrounded by whitespace. However,
 there may be specific use cases in which automatic trimming is not
 desired. This implementation handles the case that the passed in
 string is null. In this case, an empty collection is returned.
 Otherwise, this method delegates to splitString(String, boolean).split in interface ListDelimiterHandlers - the string to be splittrim - a flag whether each component of the string is to be trimmedpublic Object escape(Object value, ValueTransformer transformer)
escapeString(String),
 otherwise no escaping is performed. Eventually, the passed in transformer
 is invoked so that additional encoding can be performed.escape in interface ListDelimiterHandlervalue - the value to be escapedtransformer - a ValueTransformer for an additional encoding
        (must not be null)protected abstract Collection<String> splitString(String s, boolean trim)
split() method. Here the actual splitting logic has to be
 implemented.s - the string to be split (not null)trim - a flag whether the single components have to be trimmedprotected abstract String escapeString(String s)
escape()
 if the passed in object is a string. Concrete subclasses have to
 implement their specific escaping logic here, so that the list delimiters
 they support are properly escaped.s - the string to be escaped (not null)Copyright © 2001–2020 The Apache Software Foundation. All rights reserved.