OmegaT の背景に画像を表示します。
refactoring: コンストラクター内の繰り返し処理をサブメソッドに分離
| @@ -46,24 +46,18 @@ | ||
| 46 | 46 | private String image = ""; |
| 47 | 47 | private List<Parts> exclude = new ArrayList<Parts>(); |
| 48 | 48 | |
| 49 | - public BasicEffect(Map config) { | |
| 50 | - if (config.containsKey(KEY_TARGET)) { | |
| 51 | - target = (Parts) config.get(KEY_TARGET); | |
| 52 | - } | |
| 53 | - | |
| 49 | + public BasicEffect(Map<String, Object> config) { | |
| 50 | + target = get(KEY_TARGET, config, target); | |
| 54 | 51 | if (config.containsKey(KEY_IMAGE)) { |
| 55 | 52 | Map conf = (Map) config.get(KEY_IMAGE); |
| 56 | - if (conf.containsKey(KEY_PATH)) { | |
| 57 | - image = (String) conf.get(KEY_PATH); | |
| 58 | - } | |
| 59 | - if (conf.containsKey(KEY_OPACITY)) { | |
| 60 | - opacity = (Float) conf.get(KEY_OPACITY); | |
| 61 | - } | |
| 53 | + image = get(KEY_PATH, conf, image); | |
| 54 | + opacity = get(KEY_OPACITY, conf, opacity); | |
| 62 | 55 | } |
| 56 | + exclude = get(KEY_EXCLUDE, config, exclude); | |
| 57 | + } | |
| 63 | 58 | |
| 64 | - if (config.containsKey(KEY_EXCLUDE)) { | |
| 65 | - exclude = (List<Parts>) config.get(KEY_EXCLUDE); | |
| 66 | - } | |
| 59 | + private <T> T get(String key, Map<String, Object> config, T valueDefault) { | |
| 60 | + return config.containsKey(key) ? (T) config.get(key) : valueDefault; | |
| 67 | 61 | } |
| 68 | 62 | |
| 69 | 63 | @Override |