source: java/main/src/main/java/com/framsticks/params/ListSource.java

Last change on this file was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1package com.framsticks.params;
2
3import java.util.ArrayList;
4import java.util.Iterator;
5import java.util.List;
6
7public class ListSource implements Source {
8
9        private Iterator<String> iterator = null;
10        private final List<String> list;
11
12        public ListSource(List<String> list) {
13                this.list = list;
14                iterator = list.iterator();
15        }
16
17        @Override
18        public String getFilename() {
19                return "<net>";
20        }
21
22        @Override
23        public String readLine() {
24                // if (iterator == null) {
25                //      return null;
26                // }
27                assert iterator != null;
28                if (iterator.hasNext()) {
29                        return iterator.next();
30                }
31                return null;
32        }
33
34        @Override
35        public String demangleInclude(String include) {
36                return null;
37        }
38
39        @Override
40        public Source openInclude(String include) {
41                return null;
42        }
43
44        @Override
45        public void close() {
46                iterator = null;
47        }
48
49        public static ListSource createFrom(String... lines) {
50                List<String> list = new ArrayList<String>();
51                for (String l : lines) {
52                        list.add(l);
53                }
54                return new ListSource(list);
55        }
56
57        @Override
58        public boolean isClosed() {
59                return iterator == null;
60        }
61
62        @Override
63        public String toString() {
64                if (list.isEmpty()) {
65                        return "?";
66                }
67                StringBuilder b = new StringBuilder();
68                int print = Math.min(list.size(), 3);
69                for (int i = 0; i < print; ++i) {
70                        if (i != 0) {
71                                b.append(" ");
72                        }
73                        b.append(list.get(i));
74                }
75                if (list.size() > print) {
76                        b.append(" ...");
77                }
78                return b.toString();
79        }
80
81}
Note: See TracBrowser for help on using the repository browser.