1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.writer;
19
20 import org.apache.any23.configuration.Settings;
21 import org.eclipse.rdf4j.common.net.ParsedIRI;
22 import org.eclipse.rdf4j.rio.RDFWriter;
23 import org.eclipse.rdf4j.rio.WriterConfig;
24 import org.eclipse.rdf4j.rio.helpers.BasicWriterSettings;
25
26 import java.io.OutputStream;
27 import java.io.Writer;
28 import java.net.URISyntaxException;
29
30
31
32
33
34
35 public class TurtleWriter extends RDFWriterTripleHandler {
36
37 static class Internal {
38
39
40
41 private static final org.eclipse.rdf4j.rio.turtle.TurtleWriterFactory rdf4j = new org.eclipse.rdf4j.rio.turtle.TurtleWriterFactory() {
42 @Override
43 public RDFWriter getWriter(OutputStream out) {
44 return new org.eclipse.rdf4j.rio.turtle.TurtleWriter(out);
45 }
46
47 @Override
48 public RDFWriter getWriter(OutputStream out, String baseURI) throws URISyntaxException {
49 return new org.eclipse.rdf4j.rio.turtle.TurtleWriter(out, new ParsedIRI(baseURI));
50 }
51
52 @Override
53 public RDFWriter getWriter(Writer writer) {
54 return new org.eclipse.rdf4j.rio.turtle.TurtleWriter(writer);
55 }
56
57 @Override
58 public RDFWriter getWriter(Writer writer, String baseURI) throws URISyntaxException {
59 return new org.eclipse.rdf4j.rio.turtle.TurtleWriter(writer, new ParsedIRI(baseURI));
60 }
61 };
62
63 static final TripleFormat FORMAT = format(rdf4j);
64
65 static final Settings SUPPORTED_SETTINGS = Settings.of(WriterSettings.PRETTY_PRINT);
66 }
67
68 @Override
69 void configure(WriterConfig config, Settings settings) {
70 config.set(BasicWriterSettings.PRETTY_PRINT, settings.get(WriterSettings.PRETTY_PRINT));
71 }
72
73
74
75
76
77
78
79 public TurtleWriter(OutputStream out) {
80 this(out, Settings.of());
81 }
82
83 public TurtleWriter(OutputStream os, Settings settings) {
84 super(Internal.rdf4j, Internal.FORMAT, os, settings);
85 }
86
87 }