Class RangeParserUtils
- java.lang.Object
-
- com.hybris.backoffice.excel.importing.parser.RangeParserUtils
-
public class RangeParserUtils extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RangeParserUtils.RangeBounds
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
COMPLEX_TYPE_RANGE_FORMAT
static java.lang.String
RANGE_DELIMITER
static java.lang.String
RANGE_FROM_PREFIX
static java.util.regex.Pattern
RANGE_PATTERN
e.g.static java.lang.String
RANGE_PREFIX
static java.lang.String
RANGE_SUFFIX
static java.lang.String
RANGE_TO_PREFIX
static java.lang.String
SIMPLE_TYPE_RANGE_FORMAT
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DefaultValues
appendPrefixToDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)
static ParsedValues
appendPrefixToParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)
static java.lang.String
convert(java.lang.String input, java.util.function.UnaryOperator<java.lang.String> converter)
Allows to convert given input with given converter.static java.lang.String
deleteFromPrefix(java.lang.String input)
Deletes "from$" from given inputstatic java.lang.String
deletePrefix(java.lang.String input, java.lang.String prefix)
Deletes given prefix from given inputstatic DefaultValues
deletePrefixFromDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)
static ImportParameters
deletePrefixFromImportParameters(ImportParameters importParameters, RangeParserUtils.RangeBounds rangeBounds)
static ParsedValues
deletePrefixFromParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)
static java.lang.String
deleteToPrefix(java.lang.String input)
Deletes "to$" from given inputstatic ImportParameters
getSingleImportParameters(ExcelClassificationAttribute excelClassificationAttribute, ImportParameters importParameters, java.util.Map<java.lang.String,java.lang.String> params, RangeParserUtils.RangeBounds rangeBounds)
Every range contains of FROM and TO values.static org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>
parseRangePattern(java.lang.String input)
Parses input to pair of values - beginning of the range and end of the range.static java.lang.String
prependFromPrefix(java.lang.String input)
Prepends "from$" to given input.static java.lang.String
prependToPrefix(java.lang.String input)
Prepends "to$" to given input.static org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>
splitByRangeSeparator(java.lang.String input)
Splits given input by ";".
-
-
-
Field Detail
-
RANGE_DELIMITER
public static final java.lang.String RANGE_DELIMITER
- See Also:
- Constant Field Values
-
RANGE_PREFIX
public static final java.lang.String RANGE_PREFIX
- See Also:
- Constant Field Values
-
RANGE_SUFFIX
public static final java.lang.String RANGE_SUFFIX
- See Also:
- Constant Field Values
-
RANGE_FROM_PREFIX
public static final java.lang.String RANGE_FROM_PREFIX
- See Also:
- Constant Field Values
-
RANGE_TO_PREFIX
public static final java.lang.String RANGE_TO_PREFIX
- See Also:
- Constant Field Values
-
COMPLEX_TYPE_RANGE_FORMAT
public static final java.lang.String COMPLEX_TYPE_RANGE_FORMAT
- See Also:
- Constant Field Values
-
SIMPLE_TYPE_RANGE_FORMAT
public static final java.lang.String SIMPLE_TYPE_RANGE_FORMAT
- See Also:
- Constant Field Values
-
RANGE_PATTERN
public static final java.util.regex.Pattern RANGE_PATTERN
e.g. RANGE[from;to]
-
-
Method Detail
-
parseRangePattern
public static org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String> parseRangePattern(@Nonnull java.lang.String input) throws ExcelParserException
Parses input to pair of values - beginning of the range and end of the range. The input should be in format "RANGE["from";"to"]".
.e.g input "RANGE["from";"to"]" returnsPair
which contains "from" and "to".- Parameters:
input
- range raw value- Returns:
- pair which contains beginning and ending of the range. The
Pair.getLeft()
returns "from" of the range andPair.getRight()
returns "to" of the range. - Throws:
ExcelParserException
- when input doesn't match toRANGE_PATTERN
-
splitByRangeSeparator
public static org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String> splitByRangeSeparator(@Nonnull java.lang.String input) throws ExcelParserException
- Parameters:
input
- value to split- Returns:
- pair which contains beginning and ending of the range. The
Pair.getLeft()
returns "from" of the range andPair.getRight()
returns "to" of the range. - Throws:
ExcelParserException
-
prependFromPrefix
public static java.lang.String prependFromPrefix(@Nonnull java.lang.String input)
-
prependToPrefix
public static java.lang.String prependToPrefix(@Nonnull java.lang.String input)
-
deleteFromPrefix
public static java.lang.String deleteFromPrefix(@Nonnull java.lang.String input)
Deletes "from$" from given input- Parameters:
input
- to modify- Returns:
- value without "from$"
-
deleteToPrefix
public static java.lang.String deleteToPrefix(@Nonnull java.lang.String input)
Deletes "to$" from given input- Parameters:
input
- to modify- Returns:
- value without "to$"
-
deletePrefix
public static java.lang.String deletePrefix(java.lang.String input, java.lang.String prefix)
Deletes given prefix from given input- Parameters:
input
- to modifyprefix
- to remove- Returns:
- value without given prefix
-
deletePrefixFromImportParameters
public static ImportParameters deletePrefixFromImportParameters(ImportParameters importParameters, RangeParserUtils.RangeBounds rangeBounds)
- Parameters:
importParameters
- to modifyrangeBounds
- allows to decide which prefix should be handled- Returns:
- value without given prefix
-
getSingleImportParameters
public static ImportParameters getSingleImportParameters(ExcelClassificationAttribute excelClassificationAttribute, ImportParameters importParameters, java.util.Map<java.lang.String,java.lang.String> params, RangeParserUtils.RangeBounds rangeBounds)
Every range contains of FROM and TO values. This method allows to retrieveImportParameters
from one of given bounds.- Parameters:
excelClassificationAttribute
- it is necessary, because this method must check whether the type is complex or simple. If it's simple thenImportParameters.cellValue
will be completed with "rawValue".importParameters
- to work onparams
- to be put inImportParameters.parameters
rangeBounds
- allows to decide whether retrieve FROM or TO bound- Returns:
- importParameters of given bound
-
appendPrefixToParsedValues
public static ParsedValues appendPrefixToParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)
- Parameters:
parsedValues
- to modifyrange
- allows to decide which prefix should be handled- Returns:
- value with given prefix
-
deletePrefixFromParsedValues
public static ParsedValues deletePrefixFromParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)
- Parameters:
parsedValues
- to modifyrange
- allows to decide which prefix should be handled- Returns:
- value without given prefix
-
appendPrefixToDefaultValues
public static DefaultValues appendPrefixToDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)
- Parameters:
defaultValues
- to modifyrange
- allows to decide which prefix should be handled- Returns:
- value with given prefix
-
deletePrefixFromDefaultValues
public static DefaultValues deletePrefixFromDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)
- Parameters:
defaultValues
- to modifyrange
- allows to decide which prefix should be handled- Returns:
- value without given prefix
-
convert
public static java.lang.String convert(java.lang.String input, java.util.function.UnaryOperator<java.lang.String> converter)
Allows to convert given input with given converter. If input containsSelectedAttribute.REFERENCE_PATTERN_SEPARATOR
then it is split using this separator and all of the subelements are converted and then merged.
E.g. input "a:b:c" and converter which appends "from$" then ""to$"a:"to$"b:"to$"c" will be returned- Parameters:
input
- to modifyconverter
- to use for conversion- Returns:
- converted input
-
-