![JAR search and dependency download from the Maven repository](/logo.png)
humanize.util.Parameters Maven / Gradle / Ivy
The newest version!
package humanize.util;
import static humanize.util.Constants.DEFAULT_SLUG_SEPARATOR;
import humanize.time.TimeMillis;
import com.google.common.base.Preconditions;
/**
* Parameterization classes collection.
*
*/
public final class Parameters
{
private Parameters()
{
//
}
/**
* Pace format parameters.
*
*/
public final static class PaceParameters
{
/**
* Builder method.
*
* @param one
* Format for a single element
* @return a new pace parameters instance
*/
public static PaceParameters begin(String one)
{
PaceParameters p = new PaceParameters();
return p.one(one);
}
/**
* Pluralization formats
*/
public PluralizeParams plural;
/**
* The interval of the pace in milliseconds.
*
* @see TimeMillis
*/
public long interval;
private PaceParameters()
{
//
}
public void checkArguments()
{
Preconditions.checkArgument(plural != null, "Plural parameters are required");
}
public PaceParameters exts(Object... exts)
{
this.plural.exts(exts);
return this;
}
public PaceParameters interval(long interval)
{
this.interval = interval;
return this;
}
public PaceParameters interval(TimeMillis interval)
{
this.interval = interval.millis();
return this;
}
public PaceParameters many(String many)
{
this.plural.many(many);
return this;
}
public PaceParameters none(String none)
{
this.plural.none(none);
return this;
}
public PaceParameters one(String one)
{
this.plural = PluralizeParams.begin(one);
return this;
}
public PaceParameters plural(PluralizeParams plural)
{
this.plural = plural;
return this;
}
}
/**
* Parameterization for pluralize calls.
*
*/
public final static class PluralizeParams
{
/**
* Builder method.
*
* @param one
* Format for a single element
* @return a new pluralize parameters instance
*/
public static PluralizeParams begin(String one)
{
PluralizeParams p = new PluralizeParams();
return p.one(one);
}
/**
* Format for a single element
*/
public String one;
/**
* Format for many elements
*/
public String many;
/**
* Format for no element
*/
public String none;
/**
* Extended parameters for the specified formats
*/
public Object[] exts;
private PluralizeParams()
{
//
}
public PluralizeParams exts(Object... exts)
{
this.exts = exts;
return this;
}
public PluralizeParams many(String many)
{
this.many = many;
return this;
}
public PluralizeParams none(String none)
{
this.none = none;
return this;
}
public PluralizeParams one(String one)
{
this.one = one;
return this;
}
}
/**
* Parameterization for slugify calls.
*
*/
public final static class SlugifyParams
{
/**
* Builder method.
*
* @return a new slugify parameters instance
*/
public static SlugifyParams begin()
{
return new SlugifyParams();
}
/**
* Separator slug
*/
public String separator;
/**
* Controls the transformation to lowercase
*/
public boolean isToLowerCase;
private SlugifyParams()
{
this.separator = DEFAULT_SLUG_SEPARATOR;
this.isToLowerCase = true;
}
public SlugifyParams separator(String separator)
{
this.separator = separator;
return this;
}
public SlugifyParams toLowerCase(boolean isToLowerCase)
{
this.isToLowerCase = isToLowerCase;
return this;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy