1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.settings.io;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23 import javax.xml.stream.XMLStreamException;
24
25 import java.io.File;
26 import java.io.IOException;
27 import java.io.OutputStream;
28 import java.io.Writer;
29 import java.nio.file.Files;
30 import java.util.Map;
31 import java.util.Objects;
32
33 import org.apache.maven.settings.Settings;
34 import org.apache.maven.settings.v4.SettingsStaxWriter;
35
36
37
38
39
40
41 @Named
42 @Singleton
43 @Deprecated(since = "4.0.0")
44 public class DefaultSettingsWriter implements SettingsWriter {
45
46 @Override
47 public void write(File output, Map<String, Object> options, Settings settings) throws IOException {
48 Objects.requireNonNull(output, "output cannot be null");
49 Objects.requireNonNull(settings, "settings cannot be null");
50
51 output.getParentFile().mkdirs();
52
53 write(Files.newOutputStream(output.toPath()), options, settings);
54 }
55
56 @Override
57 public void write(Writer output, Map<String, Object> options, Settings settings) throws IOException {
58 Objects.requireNonNull(output, "output cannot be null");
59 Objects.requireNonNull(settings, "settings cannot be null");
60
61 try (Writer out = output) {
62 new SettingsStaxWriter().write(out, settings.getDelegate());
63 } catch (XMLStreamException e) {
64 throw new IOException("Error writing settings", e);
65 }
66 }
67
68 @Override
69 public void write(OutputStream output, Map<String, Object> options, Settings settings) throws IOException {
70 Objects.requireNonNull(output, "output cannot be null");
71 Objects.requireNonNull(settings, "settings cannot be null");
72
73 try (OutputStream out = output) {
74 new SettingsStaxWriter().write(out, settings.getDelegate());
75 } catch (XMLStreamException e) {
76 throw new IOException("Error writing settings", e);
77 }
78 }
79 }