Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.oneeyedmen.tdb.internal;
 
 
public class FakeAccess implements Invokable {
    private static final Boolean DEFAULT_BOOLEAN = .;
    private static final Byte DEFAULT_BYTE = (byte) 0x07;
    private static final Short DEFAULT_SHORT = (short) 42;
    private static final Character DEFAULT_CHAR = '?';
    private static final Integer DEFAULT_INTEGER = 42;
    private static final Double DEFAULT_DOUBLE = .;
    private static final Float DEFAULT_FLOAT = (float.;
    private static final String DEFAULT_STRING = "banana";
    @Override
    public Object invoke(Invocation invocationthrows Throwable {
        if (invocation.getParameterCount() == 0) {
            return resultFor(invocation);
        }
        else {
            throw new NoSuchMethodError(invocation.getInvokedMethod().getName());
        }
    }
    private Object resultFor(Invocation invocation) {
        Method invokedMethod = invocation.getInvokedMethod();
        Type returnType = invokedMethod.getGenericReturnType();
        if (returnType == .)
            throw new NoSuchMethodError(invocation.getInvokedMethod().getName());
        if (returnType == String.class)
            return FieldAccess.fieldNameForAccessor(invokedMethod);
        return createA(returnType);
    }
    private Object createA(Type type) {
        Class<?> rawType = type instanceof ParameterizedType ? (Class)((ParameterizedTypetype).getRawType() : (Classtype;
        if (rawType == String.class)
            return ;
        if (rawType == . || rawType == Boolean.class)
            return ;
        if (rawType == . || rawType == . ||
                rawType == Integer.class || rawType == Long.class)
            return ;
        if (rawType == . || rawType == Float.class)
            return ;
        if (rawType == . || rawType == Double.class)
            return ;
        if (rawType == . || rawType == Character.class)
            return ;
        if (rawType == . || rawType == Byte.class)
            return ;
        if (rawType == . || rawType == Byte.class)
            return ;
        if (List.class.isAssignableFrom(rawType))
            return new FakeList(firstGenericParameterOf(type));
        return Faker.fakeA(rawType);
    }
    private Class<?> firstGenericParameterOf(Type type) {
        Type thing = ((ParameterizedTypetype).getActualTypeArguments()[0];
        return (Class<?>) thing;
    }
    private class FakeList extends AbstractList {
        private final Class genericType;
        public FakeList(Class genericType) {
            this. = genericType;
        }
        @Override
        public Object get(int index) {
            if (index >= size())
                throw new IndexOutOfBoundsException("" + index);
            return createA();
        }
        @Override
        public int size() {
            return 3;
        }
    }
New to GrepCode? Check out our FAQ X