org.databene.benerator.primitive
Class LuhnGenerator

java.lang.Object
  extended by org.databene.benerator.util.AbstractGenerator<P>
      extended by org.databene.benerator.wrapper.GeneratorWrapper<E,E>
          extended by org.databene.benerator.wrapper.GeneratorProxy<E>
              extended by org.databene.benerator.wrapper.NonNullGeneratorProxy<java.lang.String>
                  extended by org.databene.benerator.primitive.LuhnGenerator
All Implemented Interfaces:
java.io.Closeable, Generator<java.lang.String>, NonNullGenerator<java.lang.String>, org.databene.commons.Resettable, org.databene.commons.ThreadAware
Direct Known Subclasses:
CreditCardNumberGenerator

public class LuhnGenerator
extends NonNullGeneratorProxy<java.lang.String>

Generates numbers that pass a Luhn test.

Created: 18.10.2009 10:08:09

Since:
0.6.0
Author:
Volker Bergmann

Field Summary
protected  Distribution lengthDistribution
           
protected  int lengthGranularity
           
protected  int maxLength
           
protected  int minLength
           
protected  java.lang.String prefix
           
 
Fields inherited from class org.databene.benerator.wrapper.GeneratorProxy
generatedType
 
Fields inherited from class org.databene.benerator.util.AbstractGenerator
context, logger, state
 
Constructor Summary
LuhnGenerator()
           
LuhnGenerator(java.lang.String prefix, int length)
           
LuhnGenerator(java.lang.String prefix, int minLength, int maxLength, int lengthGranularity, Distribution lengthDistribution)
           
 
Method Summary
 java.lang.String generate()
           
 void init(GeneratorContext context)
           
 void setMaxLength(int maxLength)
           
 void setMinLength(int minLength)
           
 void setPrefix(java.lang.String prefix)
           
 
Methods inherited from class org.databene.benerator.wrapper.NonNullGeneratorProxy
generate, generateFromNotNullSource, getSource, setSource
 
Methods inherited from class org.databene.benerator.wrapper.GeneratorProxy
getGeneratedType, toString
 
Methods inherited from class org.databene.benerator.wrapper.GeneratorWrapper
close, equals, generateFromSource, getSourceWrapper, hashCode, isParallelizable, isThreadSafe, reset
 
Methods inherited from class org.databene.benerator.util.AbstractGenerator
assertInitialized, assertNotInitialized, getResultWrapper, wasInitialized
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.databene.benerator.Generator
close, getGeneratedType, wasInitialized
 
Methods inherited from interface org.databene.commons.ThreadAware
isParallelizable, isThreadSafe
 
Methods inherited from interface org.databene.commons.Resettable
reset
 

Field Detail

prefix

protected java.lang.String prefix

minLength

protected int minLength

maxLength

protected int maxLength

lengthGranularity

protected int lengthGranularity

lengthDistribution

protected Distribution lengthDistribution
Constructor Detail

LuhnGenerator

public LuhnGenerator()

LuhnGenerator

public LuhnGenerator(java.lang.String prefix,
                     int length)

LuhnGenerator

public LuhnGenerator(java.lang.String prefix,
                     int minLength,
                     int maxLength,
                     int lengthGranularity,
                     Distribution lengthDistribution)
Method Detail

setPrefix

public void setPrefix(java.lang.String prefix)

setMinLength

public void setMinLength(int minLength)

setMaxLength

public void setMaxLength(int maxLength)

init

public void init(GeneratorContext context)
Specified by:
init in interface Generator<java.lang.String>
Overrides:
init in class GeneratorWrapper<java.lang.String,java.lang.String>

generate

public java.lang.String generate()
                          throws IllegalGeneratorStateException
Specified by:
generate in interface NonNullGenerator<java.lang.String>
Overrides:
generate in class NonNullGeneratorProxy<java.lang.String>
Throws:
IllegalGeneratorStateException


Copyright © 2013. All Rights Reserved.