com.labs64.utils.swid.support.SequentialIdGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swid-generator Show documentation
Show all versions of swid-generator Show documentation
SoftWare IDentification (SWID) Tags Generator
The newest version!
package com.labs64.utils.swid.support;
import org.apache.commons.lang3.StringUtils;
/**
* This generator always returns next sequence number as element identifier.
*/
public class SequentialIdGenerator implements IdGenerator {
private long initialValue = 0;
private long offset = 1;
private String prefix;
private String suffix;
/**
*
* Default ID generator constructor.
*
*
* This constructor uses following default values:
*
* initialValue
= 0
* offset
= 1
* prefix
= null
* suffix
= null
*/
public SequentialIdGenerator() {
}
/**
*
* @param initialValue
* initial value
* @param offset
* offset
* @param prefix
* identifier prefix
* @param suffix
* identifier suffix
*/
public SequentialIdGenerator(final long initialValue, final long offset, final String prefix, final String suffix) {
this.initialValue = initialValue;
this.offset = offset;
this.prefix = prefix;
this.suffix = suffix;
}
@Override
public String nextId() {
StringBuilder sb = new StringBuilder();
if (StringUtils.isNotBlank(prefix)) {
sb.append(prefix);
sb.append("_");
}
initialValue = initialValue + offset;
sb.append(initialValue);
if (StringUtils.isNotBlank(suffix)) {
sb.append("_");
sb.append(suffix);
}
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy