/** * Reads a {@link Scenario} from disk. * @param file The file to read from. * @return A {@link Scenario} instance. * @throws IOException When reading fails. */ public static Scenario read(Path file) throws IOException { return read(file, AutoValue_Scenario.class); }
@SuppressWarnings("null") @Override public Scenario get() { if (localCache == null) { localCache = (Scenario) ScenarioIO.read( serializedScenario, scenarioClass); } return localCache; }
/** * Convert the specified JSON string to a {@link FabriRechtScenario}. * @param json The JSON string to parse. * @return A new instance of [@link {@link FabriRechtScenario}. */ public static FabriRechtScenario fromJson(String json) { return ScenarioIO.read(json, AutoValue_FabriRechtScenario.class); }
@SuppressWarnings("null") @Override public Scenario get() { if (localCache == null) { localCache = (Scenario) ScenarioIO.read( serializedScenario, scenarioClass); } return localCache; }
/** * Reads a {@link Scenario} from string. * @param scenarioString The string to read. * @return A {@link Scenario} instance. */ public static Scenario read(String scenarioString) { return read(scenarioString, AutoValue_Scenario.class); }
/** * Reads a {@link Scenario} from disk. * @param file The file to read from. * @return A {@link Scenario} instance. * @throws IOException When reading fails. */ public static Scenario read(Path file) throws IOException { return read(file, AutoValue_Scenario.class); }
/** * Reads a {@link Scenario} from string. * @param scenarioString The string to read. * @return A {@link Scenario} instance. */ public static Scenario read(String scenarioString) { return read(scenarioString, AutoValue_Scenario.class); }
/** * Reads {@link Scenario}s from disk. * @param files The files to read from. * @return A list of {@link Scenario} instances. * @throws IOException When reading fails. */ public static ImmutableList<Scenario> read(Iterable<Path> files) throws IOException { final ImmutableList.Builder<Scenario> builder = ImmutableList.builder(); for (final Path path : files) { builder.add(read(path)); } return builder.build(); }
/** * Reads {@link Scenario}s from disk. * @param files The files to read from. * @return A list of {@link Scenario} instances. * @throws IOException When reading fails. */ public static ImmutableList<Scenario> read(Iterable<Path> files) throws IOException { final ImmutableList.Builder<Scenario> builder = ImmutableList.builder(); for (final Path path : files) { builder.add(read(path)); } return builder.build(); }
/** * Reads a scenario from disk. * @param file The file to read from. * @param type The type of scenario to read. * @param <T> The scenario type. * @return A scenario of type T. * @throws IOException When reading fails. */ public static <T> T read(Path file, Class<T> type) throws IOException { return read( Joiner.on(System.lineSeparator()).join( Files.readAllLines(file, Charsets.UTF_8)), type); }
/** * Reads a scenario from disk. * @param file The file to read from. * @param type The type of scenario to read. * @param <T> The scenario type. * @return A scenario of type T. * @throws IOException When reading fails. */ public static <T> T read(Path file, Class<T> type) throws IOException { return read( Joiner.on(System.lineSeparator()).join( Files.readAllLines(file, Charsets.UTF_8)), type); }
@SuppressWarnings("unchecked") @Override @Nullable public T apply(@Nullable Path input) { final Path in = verifyNotNull(input); try { if (clazz.isPresent()) { return verifyNotNull(read(in, clazz.get())); } return verifyNotNull((T) read(in)); } catch (final IOException e) { throw new IllegalStateException(e); } } }
@SuppressWarnings("unchecked") @Override @Nullable public T apply(@Nullable Path input) { final Path in = verifyNotNull(input); try { if (clazz.isPresent()) { return verifyNotNull(read(in, clazz.get())); } return verifyNotNull((T) read(in)); } catch (final IOException e) { throw new IllegalStateException(e); } } }
static Scenario loadScenarioFromResource(String resource) { try { final Scenario scen = ScenarioIO.read( Paths.get( Resources.getResource(resource).toURI())); return scen; } catch (final IOException | URISyntaxException e) { throw new IllegalArgumentException("Couldn't find " + resource, e); } } }
/** * Tests whether the specified scenario can be correctly written to disk, it * compares the equality of the specified object with a parsed object and it * compares the equality of the serialized string. * @param input The scenario to test with IO. */ public static void assertScenarioIO(Scenario input) { final String serialized = ScenarioIO.write(input); final Scenario parsed = ScenarioIO.read(serialized); final String serializedAgain = ScenarioIO.write(parsed); System.out.println(serialized); assertThat(input).isEqualTo(parsed); assertThat(serialized).isEqualTo(serializedAgain); }
assertThat(serialized).isEqualTo(ser); final Scenario deserialized = ScenarioIO.read(serialized); assertThat(s).isEqualTo(deserialized);