All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.opencsv.bean.processor.StringProcessor Maven / Gradle / Ivy

package com.opencsv.bean.processor;

/**
 * This is the interface for validators for a single
 * {@link java.lang.String} value.
 * 

Currently this is used by the {@link PreAssignmentProcessor} to possibly * modify the value of a string before time is taken to convert it.

*

This can be used when modifying the setter of the bean is not possible.

*

WARNING - using a processor can change the string in ways that could make * it impossible to be processed or make it into a different format than what * you are expecting based on the settings of the parser and reader. So great * care must be taken when creating and using a StringProcessor.

*

NOTE - Because of the potential problems a bad processor can cause we * will close down any bug reports created for opencsv where a StringProcessor is * involved with the recommendation they be reopened as a support request.

* * @author Scott Conway * @since 5.0 */ public interface StringProcessor { /** * Method that contains the code that will transform a string into the * value that will be validated and converted into the bean field. * * @param value {@link String} to be processed * @return The processed {@link String} */ String processString(String value); /** * This allows the validator extending {@link StringProcessor} to be used * by multiple fields by allowing you to pass in data for the processor to * be used. *

The data could be a default value or whatever the custom processor * requires to convert the data.

*

If the processor needs multiple parameters, then you will need to * combine them into a single string using some sort of delimiter, say a * comma, and parse them out using some library that allows you to parse * such strings 😁.

*

If the processor does not need a value then just create an empty * method like the ConvertEmptyOrBlankStringsToNull processor used by the * BeanFieldProcessorTest.

* * @param value Information used by the processor to process the string */ void setParameterString(String value); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy