io.virtdata.libbasics.shared.from_string.to_unset.UnsetIfStringNe Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of virtdata-lib-realer Show documentation
Show all versions of virtdata-lib-realer Show documentation
With inspiration from other libraries
package io.virtdata.libbasics.shared.from_string.to_unset;
import io.virtdata.annotations.Categories;
import io.virtdata.annotations.Category;
import io.virtdata.annotations.ThreadSafeMapper;
import io.virtdata.api.VALUE;
import java.util.function.Function;
/**
* Yields UNSET.value if the input String is not equal to the
* specified String value. Throws an error if the input value
* is null. Otherwise, passes the original value along.
*/
@Categories(Category.nulls)
@ThreadSafeMapper
public class UnsetIfStringNe implements Function {
private String compareto;
public UnsetIfStringNe(String compareto) {
this.compareto = compareto;
}
@Override
public Object apply(String s) {
if (s!=null && (!s.equals(compareto))) {
return VALUE.unset;
}
if (s!=null) {
return s;
}
throw new RuntimeException("This function is not able to take null values as input. If you need to do that, consider using NullIfNullOrEmpty()");
}
}