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 classRangeParserUtils.RangeBounds
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCOMPLEX_TYPE_RANGE_FORMATstatic java.lang.StringRANGE_DELIMITERstatic java.lang.StringRANGE_FROM_PREFIXstatic java.util.regex.PatternRANGE_PATTERNe.g.static java.lang.StringRANGE_PREFIXstatic java.lang.StringRANGE_SUFFIXstatic java.lang.StringRANGE_TO_PREFIXstatic java.lang.StringSIMPLE_TYPE_RANGE_FORMAT
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DefaultValuesappendPrefixToDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)static ParsedValuesappendPrefixToParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)static java.lang.Stringconvert(java.lang.String input, java.util.function.UnaryOperator<java.lang.String> converter)Allows to convert given input with given converter.static java.lang.StringdeleteFromPrefix(java.lang.String input)Deletes "from$" from given inputstatic java.lang.StringdeletePrefix(java.lang.String input, java.lang.String prefix)Deletes given prefix from given inputstatic DefaultValuesdeletePrefixFromDefaultValues(DefaultValues defaultValues, RangeParserUtils.RangeBounds range)static ImportParametersdeletePrefixFromImportParameters(ImportParameters importParameters, RangeParserUtils.RangeBounds rangeBounds)static ParsedValuesdeletePrefixFromParsedValues(ParsedValues parsedValues, RangeParserUtils.RangeBounds range)static java.lang.StringdeleteToPrefix(java.lang.String input)Deletes "to$" from given inputstatic ImportParametersgetSingleImportParameters(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.StringprependFromPrefix(java.lang.String input)Prepends "from$" to given input.static java.lang.StringprependToPrefix(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 ExcelParserExceptionParses 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"]" returnsPairwhich 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 retrieveImportParametersfrom 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.cellValuewill be completed with "rawValue".importParameters- to work onparams- to be put inImportParameters.parametersrangeBounds- 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_SEPARATORthen 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
-
-