145 }
146
147 @Override
148 public boolean hasArguments() {
149 return true;
150 }
151
152 @Override
153 public String getArgumentsDescription() {
154 return PluginsResourceBundle.getArgument(NAME);
155 }
156
157 @Override
158 public void configure(Map<String, String> config) {
159 userParam = config.get(NAME);
160 priorityList = Arrays.stream(userParam.split(","))
161 .map(s -> {
162 try {
163 return new Locale.LanguageRange(s);
164 } catch (IllegalArgumentException iae) {
165 throw new PluginException(String.format(
166 PluginsResourceBundle.getMessage(NAME + ".invalidtag"), s));
167 }
168 })
169 .collect(Collectors.toList());
170 }
171
172 @Override
173 public void previsit(Pool resources, StringTable strings) {
174 final Pattern p = Pattern.compile(".*((Data_)|(Names_))(?<tag>.*)\\.class");
175 Pool.Module module = resources.getModule(MODULENAME);
176
177 // jdk.localedata module validation
178 Set<String> packages = module.getAllPackages();
179 if (!packages.containsAll(LOCALEDATA_PACKAGES)) {
180 throw new PluginException(PluginsResourceBundle.getMessage(NAME + ".missingpackages") +
181 LOCALEDATA_PACKAGES.stream()
182 .filter(pn -> !packages.contains(pn))
183 .collect(Collectors.joining(",\n\t")));
184 }
185
|
145 }
146
147 @Override
148 public boolean hasArguments() {
149 return true;
150 }
151
152 @Override
153 public String getArgumentsDescription() {
154 return PluginsResourceBundle.getArgument(NAME);
155 }
156
157 @Override
158 public void configure(Map<String, String> config) {
159 userParam = config.get(NAME);
160 priorityList = Arrays.stream(userParam.split(","))
161 .map(s -> {
162 try {
163 return new Locale.LanguageRange(s);
164 } catch (IllegalArgumentException iae) {
165 throw new IllegalArgumentException(String.format(
166 PluginsResourceBundle.getMessage(NAME + ".invalidtag"), s));
167 }
168 })
169 .collect(Collectors.toList());
170 }
171
172 @Override
173 public void previsit(Pool resources, StringTable strings) {
174 final Pattern p = Pattern.compile(".*((Data_)|(Names_))(?<tag>.*)\\.class");
175 Pool.Module module = resources.getModule(MODULENAME);
176
177 // jdk.localedata module validation
178 Set<String> packages = module.getAllPackages();
179 if (!packages.containsAll(LOCALEDATA_PACKAGES)) {
180 throw new PluginException(PluginsResourceBundle.getMessage(NAME + ".missingpackages") +
181 LOCALEDATA_PACKAGES.stream()
182 .filter(pn -> !packages.contains(pn))
183 .collect(Collectors.joining(",\n\t")));
184 }
185
|