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

Last change on this file since 193 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
RevLine 
[77]1package com.framsticks.params;
2
[86]3import java.util.ArrayList;
[77]4import java.util.Iterator;
5import java.util.List;
6
[101]7public class ListSource implements Source {
[77]8
9        private Iterator<String> iterator = null;
[101]10        private final List<String> list;
[77]11
[101]12        public ListSource(List<String> list) {
13                this.list = list;
14                iterator = list.iterator();
[77]15        }
16
[86]17        @Override
[77]18        public String getFilename() {
19                return "<net>";
20        }
21
[86]22        @Override
23        public String readLine() {
24                // if (iterator == null) {
25                //      return null;
26                // }
27                assert iterator != null;
[77]28                if (iterator.hasNext()) {
29                        return iterator.next();
30                }
31                return null;
32        }
33
[86]34        @Override
35        public String demangleInclude(String include) {
[77]36                return null;
37        }
38
[86]39        @Override
[101]40        public Source openInclude(String include) {
[77]41                return null;
42        }
43
[86]44        @Override
45        public void close() {
46                iterator = null;
[77]47        }
[86]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        }
[101]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                }
[103]75                if (list.size() > print) {
76                        b.append(" ...");
77                }
[101]78                return b.toString();
79        }
80
[77]81}
Note: See TracBrowser for help on using the repository browser.