Polish and sync TestGenerationContext implementations
- new constructor for providing InMemoryGeneratedFiles - writeGeneratedContent() now throws UncheckedIOException
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
package org.springframework.test.aot.generate;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UncheckedIOException;
|
||||
|
||||
import org.springframework.aot.generate.ClassNameGenerator;
|
||||
import org.springframework.aot.generate.DefaultGenerationContext;
|
||||
@@ -26,21 +27,15 @@ import org.springframework.aot.generate.InMemoryGeneratedFiles;
|
||||
/**
|
||||
* {@link GenerationContext} test implementation that uses
|
||||
* {@link InMemoryGeneratedFiles} by default, with a convenient override of
|
||||
* {@link #writeGeneratedContent()} that does not throw {@link IOException}.
|
||||
* {@link #writeGeneratedContent()} that throws {@link UncheckedIOException}
|
||||
* instead of {@link IOException}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
public class TestGenerationContext extends DefaultGenerationContext {
|
||||
|
||||
/**
|
||||
* Create an instance using the specified {@link ClassNameGenerator}.
|
||||
* @param classNameGenerator the class name generator to use.
|
||||
*/
|
||||
public TestGenerationContext(ClassNameGenerator classNameGenerator) {
|
||||
super(classNameGenerator, new InMemoryGeneratedFiles());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance using the specified {@code target}.
|
||||
* @param target the default target class to use
|
||||
@@ -49,6 +44,25 @@ public class TestGenerationContext extends DefaultGenerationContext {
|
||||
this(new ClassNameGenerator(target));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance using the specified {@link ClassNameGenerator}.
|
||||
* @param classNameGenerator the class name generator to use
|
||||
*/
|
||||
public TestGenerationContext(ClassNameGenerator classNameGenerator) {
|
||||
this(classNameGenerator, new InMemoryGeneratedFiles());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance using the specified {@link ClassNameGenerator} and
|
||||
* {@link InMemoryGeneratedFiles}.
|
||||
* @param classNameGenerator the class name generator to use
|
||||
* @param generatedFiles the generated files
|
||||
*/
|
||||
public TestGenerationContext(ClassNameGenerator classNameGenerator,
|
||||
InMemoryGeneratedFiles generatedFiles) {
|
||||
super(classNameGenerator, generatedFiles);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InMemoryGeneratedFiles getGeneratedFiles() {
|
||||
return (InMemoryGeneratedFiles) super.getGeneratedFiles();
|
||||
@@ -60,7 +74,7 @@ public class TestGenerationContext extends DefaultGenerationContext {
|
||||
super.writeGeneratedContent();
|
||||
}
|
||||
catch (IOException ex) {
|
||||
throw new IllegalStateException(ex);
|
||||
throw new UncheckedIOException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user