// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


import java.time.Instant;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Date;
import java.util.function.Predicate;
import java.util.function.Supplier;
import static io.taciturn.Utility.$;
package io.taciturn.utility;



public class StringUtility extends ComparableUtility<String> {

    public static final Predicate<String> isEmptyPredicate = String::isEmpty;
    public static final Predicate<String> isBlankPredicate = o -> o.trim().isEmpty();

    public StringUtility(String object) {
        super(object);
    }

    public StringUtility blank() {
        return filter(isBlankPredicate);
    }

    public Boolean toBoolean() {
        return map(Boolean::parseBoolean).orElse(null);
    }

    public BooleanUtility mapToBoolean() {
// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


// Path: src/main/java/io/taciturn/utility/StringUtility.java
import java.time.Instant;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Date;
import java.util.function.Predicate;
import java.util.function.Supplier;
import static io.taciturn.Utility.$;

package io.taciturn.utility;



public class StringUtility extends ComparableUtility<String> {

    public static final Predicate<String> isEmptyPredicate = String::isEmpty;
    public static final Predicate<String> isBlankPredicate = o -> o.trim().isEmpty();

    public StringUtility(String object) {
        super(object);
    }

    public StringUtility blank() {
        return filter(isBlankPredicate);
    }

    public Boolean toBoolean() {
        return map(Boolean::parseBoolean).orElse(null);
    }

    public BooleanUtility mapToBoolean() {
        return $(toBoolean());