class FreshValueGenerator
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static interface |
FreshValueGenerator.Empty
Annotates a method to generate the "empty" instance of a collection.
|
private class |
FreshValueGenerator.FreshInvocationHandler |
private static interface |
FreshValueGenerator.Generates
Annotates a method to be the instance generator of a certain type.
|
Modifier and Type | Field and Description |
---|---|
private static ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> |
EMPTY_GENERATORS |
private java.util.Map<java.lang.reflect.Type,java.lang.Integer> |
emptyInstanceGenerated
The freshness level at which the
@Empty annotated method was invoked to generate
instance. |
private java.util.concurrent.atomic.AtomicInteger |
freshness |
private static ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> |
GENERATORS |
private ListMultimap<java.lang.Class<?>,java.lang.Object> |
sampleInstances |
Constructor and Description |
---|
FreshValueGenerator() |
Modifier and Type | Method and Description |
---|---|
(package private) <T> void |
addSampleInstances(java.lang.Class<T> type,
java.lang.Iterable<? extends T> instances) |
private <T> T |
defaultGenerate(java.lang.Class<T> rawType) |
private java.lang.Object |
generate(TypeToken<?> type)
Generates an instance for
type using the current freshness . |
private static <E> java.util.ArrayList<E> |
generateArrayList(E freshElement) |
private static <K,V> ArrayListMultimap<K,V> |
generateArrayListMultimap(K key,
V value) |
private java.math.BigDecimal |
generateBigDecimal() |
private java.math.BigInteger |
generateBigInteger() |
private static <K,V> BiMap<K,V> |
generateBimap(K key,
V value) |
private boolean |
generateBoolean() |
private java.lang.Boolean |
generateBooleanObject() |
private java.nio.Buffer |
generateBuffer() |
private byte |
generateByte() |
private static java.io.ByteArrayInputStream |
generateByteArrayInputStream() |
private java.nio.ByteBuffer |
generateByteBuffer() |
private java.lang.Byte |
generateByteObject() |
private char |
generateChar() |
private java.lang.Character |
generateCharacter() |
private java.nio.CharBuffer |
generateCharBuffer() |
private CharMatcher |
generateCharMatcher() |
private java.lang.CharSequence |
generateCharSequence() |
private java.nio.charset.Charset |
generateCharset() |
private java.lang.Class<?> |
generateClass() |
private static <E> java.util.Collection<E> |
generateCollection(E freshElement) |
private java.lang.Comparable<?> |
generateComparable() |
private <T> java.util.Comparator<T> |
generateComparator() |
private static <K,V> java.util.concurrent.ConcurrentMap<K,V> |
generateConcurrentMap() |
private static <K,V> java.util.concurrent.ConcurrentMap<K,V> |
generateConcurrentMap(K key,
V value) |
private java.util.Currency |
generateCurrency() |
private double |
generateDouble() |
private java.nio.DoubleBuffer |
generateDoubleBuffer() |
private java.lang.Double |
generateDoubleObject() |
private <T> Equivalence<T> |
generateEquivalence() |
private java.io.File |
generateFile() |
private float |
generateFloat() |
private java.nio.FloatBuffer |
generateFloatBuffer() |
private java.lang.Float |
generateFloatObject() |
(package private) <T> T |
generateFresh(java.lang.Class<T> type) |
(package private) java.lang.Object |
generateFresh(TypeToken<?> type)
Returns a fresh instance for
type if possible. |
private <T> Optional<T> |
generateGoogleOptional() |
private <T> Optional<T> |
generateGoogleOptional(T value) |
private static <R,C,V> HashBasedTable<R,C,V> |
generateHashBasedTable(R row,
C column,
V value) |
private static <K,V> HashBiMap<K,V> |
generateHashBiMap(K key,
V value) |
private static <K,V> java.util.HashMap<K,V> |
generateHashdMap(K key,
V value) |
private static <K,V> HashMultimap<K,V> |
generateHashMultimap(K key,
V value) |
private static <E> HashMultiset<E> |
generateHashMultiset(E freshElement) |
private static <E> java.util.HashSet<E> |
generateHashSet(E freshElement) |
private static <K,V> ImmutableBiMap<K,V> |
generateImmutableBimap(K key,
V value) |
private static <E> ImmutableCollection<E> |
generateImmutableCollection(E freshElement) |
private static <E> ImmutableList<E> |
generateImmutableList(E freshElement) |
private static <K,V> ImmutableListMultimap<K,V> |
generateImmutableListMultimap(K key,
V value) |
private static <K,V> ImmutableMap<K,V> |
generateImmutableMap(K key,
V value) |
private static <K,V> ImmutableMultimap<K,V> |
generateImmutableMultimap(K key,
V value) |
private static <E> ImmutableMultiset<E> |
generateImmutableMultiset(E freshElement) |
private static <E> ImmutableSet<E> |
generateImmutableSet(E freshElement) |
private static <K,V> ImmutableSetMultimap<K,V> |
generateImmutableSetMultimap(K key,
V value) |
private static <K extends java.lang.Comparable<? super K>,V> |
generateImmutableSortedMap(K key,
V value) |
private static <E extends java.lang.Comparable<E>> |
generateImmutableSortedMultiset(E freshElement) |
private static <E extends java.lang.Comparable<? super E>> |
generateImmutableSortedSet(E freshElement) |
private static <R,C,V> ImmutableTable<R,C,V> |
generateImmutableTable(R row,
C column,
V value) |
private static java.io.InputStream |
generateInputStream() |
private int |
generateInt() |
private java.nio.IntBuffer |
generateIntBuffer() |
private java.lang.Integer |
generateInteger() |
private static <E> java.lang.Iterable<E> |
generateIterable(E freshElement) |
private <T> java.util.Optional<T> |
generateJavaOptional() |
private <T> java.util.Optional<T> |
generateJavaOptional(T value) |
private Joiner |
generateJoiner() |
private static <K,V> java.util.LinkedHashMap<K,V> |
generateLinkedHashMap(K key,
V value) |
private static <K,V> LinkedHashMultimap<K,V> |
generateLinkedHashMultimap(K key,
V value) |
private static <E> LinkedHashMultiset<E> |
generateLinkedHashMultiset(E freshElement) |
private static <E> java.util.LinkedHashSet<E> |
generateLinkedHashSet(E freshElement) |
private static <E> java.util.LinkedList<E> |
generateLinkedList(E freshElement) |
private static <E> java.util.List<E> |
generateList(E freshElement) |
private static <K,V> ListMultimap<K,V> |
generateListMultimap(K key,
V value) |
private java.util.Locale |
generateLocale() |
private long |
generateLong() |
private java.nio.LongBuffer |
generateLongBuffer() |
private java.lang.Long |
generateLongObject() |
private static <K,V> java.util.Map<K,V> |
generateMap(K key,
V value) |
private static <K,V> Multimap<K,V> |
generateMultimap(K key,
V value) |
private static <E> Multiset<E> |
generateMultiset(E freshElement) |
private static <K extends java.lang.Comparable<? super K>,V> |
generateNavigableMap(K key,
V value) |
private static <E extends java.lang.Comparable<? super E>> |
generateNavigableSet(E freshElement) |
private java.lang.Number |
generateNumber() |
private java.lang.Object |
generateObject() |
private java.util.OptionalDouble |
generateOptionalDouble() |
private java.util.OptionalInt |
generateOptionalInt() |
private java.util.OptionalLong |
generateOptionalLong() |
private <T> Ordering<T> |
generateOrdering() |
private java.util.regex.Pattern |
generatePattern() |
private static <C extends java.lang.Comparable<?>> |
generateRange() |
private static <C extends java.lang.Comparable<?>> |
generateRange(C freshElement) |
private java.lang.Readable |
generateReadable() |
private java.io.Reader |
generateReader() |
private static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> |
generateRowSortedTable(R row,
C column,
V value) |
private static <E> java.util.Set<E> |
generateSet(E freshElement) |
private static <K,V> SetMultimap<K,V> |
generateSetMultimap(K key,
V value) |
private short |
generateShort() |
private java.nio.ShortBuffer |
generateShortBuffer() |
private java.lang.Short |
generateShortObject() |
private static <K extends java.lang.Comparable<? super K>,V> |
generateSortedMap(K key,
V value) |
private static <E extends java.lang.Comparable<E>> |
generateSortedMultiset(E freshElement) |
private static <E extends java.lang.Comparable<? super E>> |
generateSortedSet(E freshElement) |
private Splitter |
generateSplitter() |
private java.lang.String |
generateString() |
private java.io.StringReader |
generateStringReader() |
private static <R,C,V> Table<R,C,V> |
generateTable(R row,
C column,
V value) |
private Ticker |
generateTicker() |
private static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> |
generateTreeBasedTable(R row,
C column,
V value) |
private static <K extends java.lang.Comparable<? super K>,V> |
generateTreeMap(K key,
V value) |
private static <E extends java.lang.Comparable<E>> |
generateTreeMultiset(E freshElement) |
private static <E extends java.lang.Comparable<? super E>> |
generateTreeSet(E freshElement) |
private TypeToken<?> |
generateTypeToken() |
private UnsignedInteger |
generateUnsignedInteger() |
private UnsignedLong |
generateUnsignedLong() |
(package private) java.lang.Object |
interfaceMethodCalled(java.lang.Class<?> interfaceType,
java.lang.reflect.Method method)
Subclasses can override to provide different return value for proxied interface methods.
|
private java.lang.Object |
invokeGeneratorMethod(java.lang.reflect.Method generator,
java.lang.Object... args) |
(package private) <T> T |
newFreshProxy(java.lang.Class<T> interfaceType) |
private <T> T |
newProxy(java.lang.Class<T> interfaceType) |
private static java.lang.String |
paramString(java.lang.Class<?> type,
int i) |
private <T> T |
pickInstance(java.util.Collection<T> instances,
T defaultValue) |
private <T> T |
pickInstance(T[] instances,
T defaultValue) |
private java.util.Currency |
preJava7FreshCurrency() |
private static final ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> GENERATORS
private static final ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> EMPTY_GENERATORS
private final java.util.concurrent.atomic.AtomicInteger freshness
private final ListMultimap<java.lang.Class<?>,java.lang.Object> sampleInstances
private final java.util.Map<java.lang.reflect.Type,java.lang.Integer> emptyInstanceGenerated
@Empty
annotated method was invoked to generate
instance.final <T> void addSampleInstances(java.lang.Class<T> type, java.lang.Iterable<? extends T> instances)
final java.lang.Object generateFresh(TypeToken<?> type)
type
if possible. The returned instance could be:
ImmutableList<String>
;
final <T> T generateFresh(java.lang.Class<T> type)
final <T> T newFreshProxy(java.lang.Class<T> interfaceType)
private java.lang.Object generate(TypeToken<?> type)
type
using the current freshness
. The generated
instance may or may not be unique across different calls.private <T> T defaultGenerate(java.lang.Class<T> rawType)
private <T> T newProxy(java.lang.Class<T> interfaceType)
private java.lang.Object invokeGeneratorMethod(java.lang.reflect.Method generator, java.lang.Object... args)
java.lang.Object interfaceMethodCalled(java.lang.Class<?> interfaceType, java.lang.reflect.Method method)
private <T> T pickInstance(T[] instances, T defaultValue)
private <T> T pickInstance(java.util.Collection<T> instances, T defaultValue)
private static java.lang.String paramString(java.lang.Class<?> type, int i)
private java.lang.Class<?> generateClass()
private java.lang.Object generateObject()
private java.lang.Number generateNumber()
private int generateInt()
private java.lang.Integer generateInteger()
private long generateLong()
private java.lang.Long generateLongObject()
private float generateFloat()
private java.lang.Float generateFloatObject()
private double generateDouble()
private java.lang.Double generateDoubleObject()
private short generateShort()
private java.lang.Short generateShortObject()
private byte generateByte()
private java.lang.Byte generateByteObject()
private char generateChar()
private java.lang.Character generateCharacter()
private boolean generateBoolean()
private java.lang.Boolean generateBooleanObject()
private UnsignedInteger generateUnsignedInteger()
private UnsignedLong generateUnsignedLong()
private java.math.BigInteger generateBigInteger()
private java.math.BigDecimal generateBigDecimal()
private java.lang.CharSequence generateCharSequence()
private java.lang.String generateString()
private java.lang.Comparable<?> generateComparable()
private java.util.regex.Pattern generatePattern()
private java.nio.charset.Charset generateCharset()
private java.util.Locale generateLocale()
private java.util.Currency generateCurrency()
private java.util.Currency preJava7FreshCurrency()
private <T> java.util.Optional<T> generateJavaOptional()
private <T> java.util.Optional<T> generateJavaOptional(T value)
private java.util.OptionalInt generateOptionalInt()
private java.util.OptionalLong generateOptionalLong()
private java.util.OptionalDouble generateOptionalDouble()
private <T> Optional<T> generateGoogleOptional()
private <T> Optional<T> generateGoogleOptional(T value)
private Joiner generateJoiner()
private Splitter generateSplitter()
private <T> Equivalence<T> generateEquivalence()
private CharMatcher generateCharMatcher()
private Ticker generateTicker()
private <T> java.util.Comparator<T> generateComparator()
private <T> Ordering<T> generateOrdering()
private static <C extends java.lang.Comparable<?>> Range<C> generateRange()
private static <C extends java.lang.Comparable<?>> Range<C> generateRange(C freshElement)
private static <E> java.lang.Iterable<E> generateIterable(E freshElement)
private static <E> java.util.Collection<E> generateCollection(E freshElement)
private static <E> java.util.List<E> generateList(E freshElement)
private static <E> java.util.ArrayList<E> generateArrayList(E freshElement)
private static <E> java.util.LinkedList<E> generateLinkedList(E freshElement)
private static <E> ImmutableList<E> generateImmutableList(E freshElement)
private static <E> ImmutableCollection<E> generateImmutableCollection(E freshElement)
private static <E> java.util.Set<E> generateSet(E freshElement)
private static <E> java.util.HashSet<E> generateHashSet(E freshElement)
private static <E> java.util.LinkedHashSet<E> generateLinkedHashSet(E freshElement)
private static <E> ImmutableSet<E> generateImmutableSet(E freshElement)
private static <E extends java.lang.Comparable<? super E>> java.util.SortedSet<E> generateSortedSet(E freshElement)
private static <E extends java.lang.Comparable<? super E>> java.util.NavigableSet<E> generateNavigableSet(E freshElement)
private static <E extends java.lang.Comparable<? super E>> java.util.TreeSet<E> generateTreeSet(E freshElement)
private static <E extends java.lang.Comparable<? super E>> ImmutableSortedSet<E> generateImmutableSortedSet(E freshElement)
private static <E> Multiset<E> generateMultiset(E freshElement)
private static <E> HashMultiset<E> generateHashMultiset(E freshElement)
private static <E> LinkedHashMultiset<E> generateLinkedHashMultiset(E freshElement)
private static <E> ImmutableMultiset<E> generateImmutableMultiset(E freshElement)
private static <E extends java.lang.Comparable<E>> SortedMultiset<E> generateSortedMultiset(E freshElement)
private static <E extends java.lang.Comparable<E>> TreeMultiset<E> generateTreeMultiset(E freshElement)
private static <E extends java.lang.Comparable<E>> ImmutableSortedMultiset<E> generateImmutableSortedMultiset(E freshElement)
private static <K,V> java.util.Map<K,V> generateMap(K key, V value)
private static <K,V> java.util.HashMap<K,V> generateHashdMap(K key, V value)
private static <K,V> java.util.LinkedHashMap<K,V> generateLinkedHashMap(K key, V value)
private static <K,V> ImmutableMap<K,V> generateImmutableMap(K key, V value)
private static <K,V> java.util.concurrent.ConcurrentMap<K,V> generateConcurrentMap()
private static <K,V> java.util.concurrent.ConcurrentMap<K,V> generateConcurrentMap(K key, V value)
private static <K extends java.lang.Comparable<? super K>,V> java.util.SortedMap<K,V> generateSortedMap(K key, V value)
private static <K extends java.lang.Comparable<? super K>,V> java.util.NavigableMap<K,V> generateNavigableMap(K key, V value)
private static <K extends java.lang.Comparable<? super K>,V> java.util.TreeMap<K,V> generateTreeMap(K key, V value)
private static <K extends java.lang.Comparable<? super K>,V> ImmutableSortedMap<K,V> generateImmutableSortedMap(K key, V value)
private static <K,V> Multimap<K,V> generateMultimap(K key, V value)
private static <K,V> ImmutableMultimap<K,V> generateImmutableMultimap(K key, V value)
private static <K,V> ListMultimap<K,V> generateListMultimap(K key, V value)
private static <K,V> ArrayListMultimap<K,V> generateArrayListMultimap(K key, V value)
private static <K,V> ImmutableListMultimap<K,V> generateImmutableListMultimap(K key, V value)
private static <K,V> SetMultimap<K,V> generateSetMultimap(K key, V value)
private static <K,V> HashMultimap<K,V> generateHashMultimap(K key, V value)
private static <K,V> LinkedHashMultimap<K,V> generateLinkedHashMultimap(K key, V value)
private static <K,V> ImmutableSetMultimap<K,V> generateImmutableSetMultimap(K key, V value)
private static <K,V> BiMap<K,V> generateBimap(K key, V value)
private static <K,V> HashBiMap<K,V> generateHashBiMap(K key, V value)
private static <K,V> ImmutableBiMap<K,V> generateImmutableBimap(K key, V value)
private static <R,C,V> Table<R,C,V> generateTable(R row, C column, V value)
private static <R,C,V> HashBasedTable<R,C,V> generateHashBasedTable(R row, C column, V value)
private static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> RowSortedTable<R,C,V> generateRowSortedTable(R row, C column, V value)
private static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> TreeBasedTable<R,C,V> generateTreeBasedTable(R row, C column, V value)
private static <R,C,V> ImmutableTable<R,C,V> generateImmutableTable(R row, C column, V value)
private TypeToken<?> generateTypeToken()
private java.io.File generateFile()
private static java.io.ByteArrayInputStream generateByteArrayInputStream()
private static java.io.InputStream generateInputStream()
private java.io.StringReader generateStringReader()
private java.io.Reader generateReader()
private java.lang.Readable generateReadable()
private java.nio.Buffer generateBuffer()
private java.nio.CharBuffer generateCharBuffer()
private java.nio.ByteBuffer generateByteBuffer()
private java.nio.ShortBuffer generateShortBuffer()
private java.nio.IntBuffer generateIntBuffer()
private java.nio.LongBuffer generateLongBuffer()
private java.nio.FloatBuffer generateFloatBuffer()
private java.nio.DoubleBuffer generateDoubleBuffer()