@Override public Object handleNoResolution(Object request, List<Object> recordedRequests) { return new NoSpecimen(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(URL.class)) { return new NoSpecimen(); } try { return new URL("http://localhost"); } catch (MalformedURLException e) { return new NoSpecimen(); } } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request.equals(DateTimeZone.class))) return new NoSpecimen(); return DateTimeZone.UTC; } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(Boolean.class)) { return new NoSpecimen(); } value = !value; return value; } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(Character.class)) { return new NoSpecimen(); } return (char) (random.nextInt(26) + 'a'); } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(UUID.class)) { return new NoSpecimen(); } return UUID.randomUUID(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(String.class)) { return new NoSpecimen(); } return UUID.randomUUID().toString(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(URI.class)) { return new NoSpecimen(); } Object specimen = context.resolve(URL.class); if (!(specimen instanceof URL)) { return new NoSpecimen(); } URL url = (URL) specimen; try { return url.toURI(); } catch (URISyntaxException e) { return new NoSpecimen(); } } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof SpecimenType)) { return new NoSpecimen(); } SpecimenType specimenType = (SpecimenType)request; Class requestClass = specimenType.getRawType(); if (!Map.class.isAssignableFrom(requestClass)) { return new NoSpecimen(); } if (!requestClass.isInterface()) { return new NoSpecimen(); } return new HashMap(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof SpecimenType)) { return new NoSpecimen(); } SpecimenType specimenType = (SpecimenType) request; Class requestClass = specimenType.getRawType(); if (!Queue.class.isAssignableFrom(requestClass)) { return new NoSpecimen(); } if (!requestClass.isInterface()) { return new NoSpecimen(); } return new ArrayDeque(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof SpecimenType)) { return new NoSpecimen(); } SpecimenType specimenType = (SpecimenType) request; Class requestClass = specimenType.getRawType(); if (!Set.class.isAssignableFrom(requestClass)) { return new NoSpecimen(); } if (!requestClass.isInterface()) { return new NoSpecimen(); } return new HashSet(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(Calendar.class)) { return new NoSpecimen(); } Object dateResult = context.resolve(Date.class); if (dateResult instanceof NoSpecimen) { return new NoSpecimen(); } Date date = (Date) dateResult; GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(date); return calendar; } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(baseClass)) { return new NoSpecimen(); } return context.resolve(this.subClass); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof SpecimenType)) { return new NoSpecimen(); } SpecimenType specimenType = (SpecimenType) request; if (!Iterable.class.isAssignableFrom(specimenType.getRawType())) { return new NoSpecimen(); } if (!specimenType.getRawType().isInterface()) { return new NoSpecimen(); } return new ArrayList(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof MultipleRequest)) { return new NoSpecimen(); } MultipleRequest multipleRequest = (MultipleRequest) request; return buildArrayList(multipleRequest, context); }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(ReadableDuration.class)) return new NoSpecimen(); return context.resolve(Duration.class); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof RangeRequest)) { return new NoSpecimen(); } RangeRequest rangeRequest = (RangeRequest) request; if (!requestIsAMatch(rangeRequest)) { return new NoSpecimen(); } return create(rangeRequest, context); }
@Override public Object create(Object request, SpecimenContext context) { if(!(request instanceof SeededRequest)) return new NoSpecimen(); SeededRequest seededRequest = (SeededRequest)request; Object innerRequest = seededRequest.getRequest(); Object specimen = context.resolve(innerRequest); if(specimen instanceof NoSpecimen) return new NoSpecimen(); return specimen; } }
@Override public Object create(Object request, SpecimenContext context) { if (!request.equals(Chronology.class)) return new NoSpecimen(); return ISOChronology.getInstance(); } }
@Override public Object create(Object request, SpecimenContext context) { if (!(request instanceof RangeRequest)) { return new NoSpecimen(); } RangeRequest rangeRequest = (RangeRequest) request; if (!requestIsAMatch(rangeRequest)) { return new NoSpecimen(); } return create(rangeRequest, context); }