1   package org.daisy.pipeline.braille.liblouis;
2   
3   import java.net.URI;
4   
5   import com.google.common.base.Splitter;
6   import static com.google.common.collect.Iterables.toArray;
7   import static com.google.common.collect.Iterables.transform;
8   
9   import org.daisy.common.file.URLs;
10  import static org.daisy.pipeline.braille.common.util.Strings.join;
11  
12  public class LiblouisTable {
13  	
14  	private final URI[] table;
15  	
16  	public LiblouisTable(URI[] table) {
17  		this.table = table;
18  	}
19  	
20  	public LiblouisTable(String table) {
21  		this(tokenizeTable(table));
22  	}
23  	
24  	public URI[] asURIs() {
25  		return table;
26  	}
27  	
28  	@Override
29  	public String toString() {
30  		return serializeTable(table);
31  	}
32  	
33  	public static URI[] tokenizeTable(String table) {
34  		return toArray(
35  			transform(
36  				Splitter.on(',').split(table),
37  				URLs::asURI),
38  			URI.class);
39  	}
40  	
41  	public static String serializeTable(URI[] table) {
42  		return join(table, ",");
43  	}
44  }