Mercurial > 510Connectbot
comparison src/ch/ethz/ssh2/compression/CompressionFactory.java @ 308:42b15aaa7ac7 ganymed
merge
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 30 Jul 2014 14:21:50 -0700 |
parents | 071eccdff8ea |
children | 97da8c5fb40a |
comparison
equal
deleted
inserted
replaced
306:90e47d99ea54 | 308:42b15aaa7ac7 |
---|---|
17 this.compressorClass = compressorClass; | 17 this.compressorClass = compressorClass; |
18 } | 18 } |
19 } | 19 } |
20 | 20 |
21 private static final List<CompressorEntry> compressors | 21 private static final List<CompressorEntry> compressors |
22 = new ArrayList<CompressorEntry>(); | 22 = new ArrayList<CompressorEntry>(); |
23 | 23 |
24 static { | 24 static { |
25 // Higher priority first | 25 // Higher priority first |
26 compressors.add(new CompressorEntry("none", null)); | 26 compressors.add(new CompressorEntry("none", null)); |
27 } | 27 } |
28 | 28 |
29 public static String[] getDefaultCompressorList() { | 29 public static String[] getDefaultCompressorList() { |
30 String list[] = new String[compressors.size()]; | 30 String list[] = new String[compressors.size()]; |
31 for(int i = 0; i < compressors.size(); i++) { | 31 |
32 for (int i = 0; i < compressors.size(); i++) { | |
32 CompressorEntry ce = compressors.get(i); | 33 CompressorEntry ce = compressors.get(i); |
33 list[i] = ce.type; | 34 list[i] = ce.type; |
34 } | 35 } |
36 | |
35 return list; | 37 return list; |
36 } | 38 } |
37 | 39 |
38 public static void checkCompressorList(String[] list) { | 40 public static void checkCompressorList(String[] list) { |
39 for(final String candidate : list) { | 41 for (final String candidate : list) { |
40 getEntry(candidate); | 42 getEntry(candidate); |
41 } | 43 } |
42 } | 44 } |
43 | 45 |
44 public static Compressor createCompressor(String type) { | 46 public static Compressor createCompressor(String type) { |
45 try { | 47 try { |
46 CompressorEntry ce = getEntry(type); | 48 CompressorEntry ce = getEntry(type); |
47 if(null == ce.compressorClass) { | 49 |
50 if (null == ce.compressorClass) { | |
48 return null; | 51 return null; |
49 } | 52 } |
53 | |
50 Class<?> cc = Class.forName(ce.compressorClass); | 54 Class<?> cc = Class.forName(ce.compressorClass); |
51 return (Compressor) cc.newInstance(); | 55 return (Compressor) cc.newInstance(); |
52 } | 56 } |
53 catch(Exception e) { | 57 catch (Exception e) { |
54 throw new IllegalArgumentException("Cannot instantiate " + type); | 58 throw new IllegalArgumentException("Cannot instantiate " + type); |
55 } | 59 } |
56 } | 60 } |
57 | 61 |
58 private static CompressorEntry getEntry(String type) { | 62 private static CompressorEntry getEntry(String type) { |
59 for(CompressorEntry ce : compressors) { | 63 for (CompressorEntry ce : compressors) { |
60 if(ce.type.equals(type)) { | 64 if (ce.type.equals(type)) { |
61 return ce; | 65 return ce; |
62 } | 66 } |
63 } | 67 } |
68 | |
64 throw new IllegalArgumentException("Unknown algorithm " + type); | 69 throw new IllegalArgumentException("Unknown algorithm " + type); |
65 } | 70 } |
66 } | 71 } |