All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.labs64.utils.swid.support.SequentialIdGenerator Maven / Gradle / Ivy

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