@Override public Optional<ClassInfo> fetch() { return this.repository.fetchClass(this.name); }
private boolean tryName(final ClassName name) { return this.repository.hasClass(name); }
private void setupClassPath(final ClassByteArraySource source, final String clazz) { final Repository repository = new Repository(source); final ClassInfo ci = repository.fetchClass(ClassName.fromString(clazz)) .get(); when(this.code.getCode()).thenReturn(Collections.singletonList(ci)); }
private Optional<ClassInfo> nameToClassInfo(final ClassName name) { final Optional<byte[]> bytes = querySource(name); if (bytes.isPresent()) { final ClassInfoBuilder classData = ClassInfoVisitor.getClassInfo(name, bytes.get(), this.hashFunction.hash(bytes.get())); return contructClassInfo(classData); } else { return Optional.empty(); } }
@Test public void shouldOnlyQuerySourceForAnUnknownClassOnce() { this.testee = new Repository(this.source); when(this.source.getBytes(anyString())).thenReturn(Optional.<byte[]> empty()); this.testee.hasClass(ClassName.fromString("foo")); this.testee.fetchClass(ClassName.fromString("foo")); verify(this.source, times(1)).getBytes("foo"); }
@Test public void shouldOnlyCheckSourceForUnknownClassesOnce() { this.testee = new Repository(this.source); when(this.source.getBytes(anyString())).thenReturn(Optional.<byte[]> empty()); this.testee.hasClass(ClassName.fromString("foo")); this.testee.hasClass(ClassName.fromString("foo")); verify(this.source, times(1)).getBytes("foo"); }
public CodeSource(final ProjectClassPaths classPath) { this(classPath, new Repository(new ClassPathByteArraySource( classPath.getClassPath()))); }
public Optional<byte[]> fetchClassBytes(final ClassName clazz) { return this.classRepository.querySource(clazz); }
@Override public Optional<ClassInfo> fetchClass(final ClassName name) { final ClassInfo info = this.knownClasses.get(name); if (info != null) { return Optional.ofNullable(info); } final Optional<ClassInfo> maybeInfo = nameToClassInfo(name); if (maybeInfo.isPresent()) { this.knownClasses.put(name, maybeInfo.get()); } return maybeInfo; }
private Optional<ClassInfo> contructClassInfo(final ClassInfoBuilder classData) { return Optional.ofNullable(new ClassInfo(resolveClass(classData.superClass), resolveClass(classData.outerClass), classData)); }
@Test public void shouldOnlyQuerySourceForAnUnknownClassOnce() { this.testee = new Repository(this.source); when(this.source.getBytes(anyString())).thenReturn(Optional.<byte[]> empty()); this.testee.hasClass(ClassName.fromString("foo")); this.testee.fetchClass(ClassName.fromString("foo")); verify(this.source, times(1)).getBytes("foo"); }
@Test public void shouldOnlyCheckSourceForUnknownClassesOnce() { this.testee = new Repository(this.source); when(this.source.getBytes(anyString())).thenReturn(Optional.<byte[]> empty()); this.testee.hasClass(ClassName.fromString("foo")); this.testee.hasClass(ClassName.fromString("foo")); verify(this.source, times(1)).getBytes("foo"); }
private Optional<ClassInfo> nameToClassInfo(final ClassName name) { final Optional<byte[]> bytes = querySource(name); if (bytes.isPresent()) { final ClassInfoBuilder classData = ClassInfoVisitor.getClassInfo(name, bytes.get(), this.hashFunction.hash(bytes.get())); return contructClassInfo(classData); } else { return Optional.empty(); } }
@Before public void setUp() { MockitoAnnotations.initMocks(this); this.repository = new Repository(this.source); this.testee = new TestToClassMapper(this.repository); }
public boolean hasClass(final ClassName name) { return this.knownClasses.containsKey(name) || querySource(name).isPresent(); }
@Override public Optional<ClassInfo> fetchClass(final ClassName name) { final ClassInfo info = this.knownClasses.get(name); if (info != null) { return Optional.ofNullable(info); } final Optional<ClassInfo> maybeInfo = nameToClassInfo(name); if (maybeInfo.isPresent()) { this.knownClasses.put(name, maybeInfo.get()); } return maybeInfo; }
private Optional<ClassInfo> contructClassInfo(final ClassInfoBuilder classData) { return Optional.ofNullable(new ClassInfo(resolveClass(classData.superClass), resolveClass(classData.outerClass), classData)); }
@Override public Optional<ClassInfo> fetchClass(final ClassName clazz) { return this.classRepository.fetchClass(clazz); }
@Test public void shouldOnlyLookForUnknownClassesOnce() { this.testee = new Repository(this.source); when(this.source.getBytes(anyString())).thenReturn(Optional.<byte[]> empty()); this.testee.fetchClass(ClassName.fromString("foo")); this.testee.fetchClass(ClassName.fromString("foo")); verify(this.source, times(1)).getBytes("foo"); }
private boolean tryName(final ClassName name) { return this.repository.hasClass(name); }