@Override public synchronized Serializable generate(AccessCallback callback) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lo > generationState.maxLo ) { generationState.lastSourceValue = callback.getNextValue(); generationState.lo = generationState.lastSourceValue.eq( 0 ) ? 1 : 0; generationState.hi = generationState.lastSourceValue.copy().multiplyBy( generationState.maxLo + 1 ); } generationState.value = generationState.hi.copy().add( generationState.lo++ ); return generationState.value.makeValue(); }
@Override public synchronized Serializable generate(AccessCallback callback) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lastSourceValue == null || ! generationState.value.lt( generationState.upperLimitValue ) ) { generationState.lastSourceValue = callback.getNextValue(); generationState.upperLimitValue = generationState.lastSourceValue.copy().add( incrementSize ); generationState.value = generationState.lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while ( generationState.value.lt( 1 ) ) { generationState.value.increment(); } } return generationState.value.makeValueThenIncrement(); }
@Override public Serializable generate(AccessCallback callback) { if ( callback.getTenantIdentifier() == null ) { final GenerationState local = localAssignedIds.get(); if ( local.value != null && local.value.lt( local.upperLimitValue ) ) { return local.value.makeValueThenIncrement(); } } synchronized (this) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lastSourceValue == null || !generationState.value.lt( generationState.upperLimitValue )) { generationState.lastSourceValue = callback.getNextValue(); generationState.upperLimitValue = generationState.lastSourceValue.copy().add( incrementSize ); generationState.value = generationState.lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while (generationState.value.lt( 1 )) { generationState.value.increment(); } } return generationState.value.makeValueThenIncrement(); } }
holder.add( 1 ); fail();
@Override public synchronized Serializable generate(AccessCallback callback) { if ( lo > maxLo ) { lastSourceValue = callback.getNextValue(); lo = lastSourceValue.eq( 0 ) ? 1 : 0; hi = lastSourceValue.copy().multiplyBy( maxLo+1 ); } value = hi.copy().add( lo++ ); return value.makeValue(); }
final IntegralDataTypeHolder updateValue = value.copy(); if (idGenerator.getOptimizer().applyIncrementSizeToSourceValues()) { updateValue.add(incrementSize); } else { updateValue.increment();
@Override public synchronized Serializable generate(AccessCallback callback) { if ( lo > maxLo ) { lastSourceValue = callback.getNextValue(); lo = lastSourceValue.eq( 0 ) ? 1 : 0; hi = lastSourceValue.copy().multiplyBy( maxLo+1 ); } value = hi.copy().add( lo++ ); return value.makeValue(); }
@Override public Serializable generate(AccessCallback callback) { if ( lastSourceValue == null || ! value.lt( lastSourceValue.copy().add( incrementSize ) ) ) { lastSourceValue = callback.getNextValue(); value = lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while ( value.lt( 1 ) ) { value.increment(); } } return value.makeValueThenIncrement(); }
final IntegralDataTypeHolder updateValue = value.copy(); if (idGenerator.getOptimizer().applyIncrementSizeToSourceValues()) { updateValue.add(incrementSize); } else { updateValue.increment();
@Override public Serializable generate(AccessCallback callback) { if ( lastSourceValue == null || ! value.lt( lastSourceValue.copy().add( incrementSize ) ) ) { lastSourceValue = callback.getNextValue(); value = lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while ( value.lt( 1 ) ) { value.increment(); } } return value.makeValueThenIncrement(); }
@Override public synchronized Serializable generate(AccessCallback callback) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lo > generationState.maxLo ) { generationState.lastSourceValue = callback.getNextValue(); generationState.lo = generationState.lastSourceValue.eq( 0 ) ? 1 : 0; generationState.hi = generationState.lastSourceValue.copy().multiplyBy( generationState.maxLo + 1 ); } generationState.value = generationState.hi.copy().add( generationState.lo++ ); return generationState.value.makeValue(); }
@Override public synchronized Serializable generate(AccessCallback callback) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lastSourceValue == null || ! generationState.value.lt( generationState.upperLimitValue ) ) { generationState.lastSourceValue = callback.getNextValue(); generationState.upperLimitValue = generationState.lastSourceValue.copy().add( incrementSize ); generationState.value = generationState.lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while ( generationState.value.lt( 1 ) ) { generationState.value.increment(); } } return generationState.value.makeValueThenIncrement(); }
@Override public Serializable generate(AccessCallback callback) { if ( callback.getTenantIdentifier() == null ) { final GenerationState local = localAssignedIds.get(); if ( local.value != null && local.value.lt( local.upperLimitValue ) ) { return local.value.makeValueThenIncrement(); } } synchronized (this) { final GenerationState generationState = locateGenerationState( callback.getTenantIdentifier() ); if ( generationState.lastSourceValue == null || !generationState.value.lt( generationState.upperLimitValue )) { generationState.lastSourceValue = callback.getNextValue(); generationState.upperLimitValue = generationState.lastSourceValue.copy().add( incrementSize ); generationState.value = generationState.lastSourceValue.copy(); // handle cases where initial-value is less that one (hsqldb for instance). while (generationState.value.lt( 1 )) { generationState.value.increment(); } } return generationState.value.makeValueThenIncrement(); } }