
pl.wrzasq.commons.text.slugifier.SimpleSlugifier Maven / Gradle / Ivy
// Generated by delombok at Thu Apr 04 01:00:51 UTC 2019
/*
* This file is part of the pl.wrzasq.commons.
*
* @license http://mit-license.org/ The MIT license
* @copyright 2015 - 2016, 2019 © by Rafał Wrzeszcz - Wrzasq.pl.
*/
package pl.wrzasq.commons.text.slugifier;
import java.text.Normalizer;
import java.util.Locale;
/**
* Simple implementation of slugifier.
*/
public class SimpleSlugifier implements Slugifier {
/**
* Default separator.
*/
public static final String DEFAULT_DELIMITER = "-";
/**
* Separator for URL parts.
*/
private String delimiter = SimpleSlugifier.DEFAULT_DELIMITER;
/**
* {@inheritDoc}
*/
@Override
public String slugify(String text) {
return Normalizer.normalize(text, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").replaceAll("\\W+", this.delimiter).replaceAll(this.delimiter + "+", this.delimiter).replaceAll("^" + this.delimiter, "").replaceAll(this.delimiter + "$", "").toLowerCase(Locale.ROOT);
}
/**
* {@inheritDoc}
*/
@Override
public String slugify(String... texts) {
return this.slugify(String.join(this.delimiter, texts));
}
/**
* Separator for URL parts.
*/
@SuppressWarnings("all")
@lombok.Generated
public void setDelimiter(final String delimiter) {
this.delimiter = delimiter;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy