1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.toolchain.io;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23 import javax.xml.stream.XMLStreamException;
24
25 import java.io.IOException;
26 import java.io.Writer;
27 import java.util.Map;
28 import java.util.Objects;
29
30 import org.apache.maven.toolchain.model.PersistedToolchains;
31 import org.apache.maven.toolchain.v4.MavenToolchainsStaxWriter;
32
33
34
35
36
37 @Named
38 @Singleton
39 public class DefaultToolchainsWriter implements ToolchainsWriter {
40
41 @Override
42 public void write(Writer output, Map<String, Object> options, PersistedToolchains toolchains) throws IOException {
43 Objects.requireNonNull(output, "output cannot be null");
44 Objects.requireNonNull(toolchains, "toolchains cannot be null");
45
46 try (Writer out = output) {
47 new MavenToolchainsStaxWriter().write(out, toolchains.getDelegate());
48 } catch (XMLStreamException e) {
49 throw new IOException("Error writing toolchains", e);
50 }
51 }
52 }