package org.magenta;
/**
* Base {@link DataSpecification} implementation.
*
* @author ngagnon
*
*/
public class DataSpecificationImpl<C> implements DataSpecification {
private static final int DEFAULT_NUMBER_OF_ITEMS = 10;
private int defaultNumberOfItems;
private C myself;
protected DataSpecificationImpl(Class<?> selfType){
this.myself = (C)selfType.cast(this);
this.defaultNumberOfItems = DEFAULT_NUMBER_OF_ITEMS;
}
/**
* Return the default number of items to generate.
*
* @return the default number of items to generate
*/
@Override
public int getDefaultNumberOfItems(){
return this.defaultNumberOfItems;
}
public C defaultNumberOfItems(int defaultNumberOfItems){
this.defaultNumberOfItems = defaultNumberOfItems;
return myself();
}
public C myself(){
return myself;
}
}