List of usage examples for com.google.common.collect ImmutableMap.Builder ImmutableMap.Builder
ImmutableMap.Builder
From source file:org.grammaticalframework.reader.Abstract.java
public Abstract(String name, Map<String, RLiteral> _flags, AbsFun[] _absFuns, AbsCat[] _absCats) { this.name = name; flags = _flags;//from w ww . j ava 2 s . c o m absFuns = _absFuns; absCats = _absCats; ImmutableMap.Builder<String, AbsCat> catBuilder = new ImmutableMap.Builder<String, AbsCat>(); for (AbsCat c : absCats) catBuilder.put(c.name, c); categories = catBuilder.build(); ImmutableMap.Builder<String, AbsFun> funBuilder = new ImmutableMap.Builder<String, AbsFun>(); for (AbsFun f : absFuns) funBuilder.put(f.name, f); functions = funBuilder.build(); }
From source file:com.sk89q.intake.argument.CommandContext.java
/** * Parse the given array of arguments.//from ww w. ja v a 2s. com * * <p>Empty arguments are removed from the list of arguments.</p> * * @param args an array with arguments * @param expectedValueFlags a set containing all value flags (pass null to disable value flag parsing) * @param allowHangingFlag true if hanging flags are allowed * @param namespace the locals, null to create empty one * @throws CommandException thrown on a parsing error */ public CommandContext(String[] args, Set<Character> expectedValueFlags, boolean allowHangingFlag, Namespace namespace) throws CommandException { if (expectedValueFlags == null) { expectedValueFlags = Collections.emptySet(); } originalArgs = args; command = args[0]; this.namespace = namespace != null ? namespace : new Namespace(); boolean isHanging = false; SuggestionContext suggestionContext = SuggestionContext.hangingValue(); // Eliminate empty args and combine multiword args first List<Integer> argIndexList = new ArrayList<Integer>(args.length); List<String> argList = new ArrayList<String>(args.length); for (int i = 1; i < args.length; ++i) { isHanging = false; String arg = args[i]; if (arg.isEmpty()) { isHanging = true; continue; } argIndexList.add(i); switch (arg.charAt(0)) { case '\'': case '"': final StringBuilder build = new StringBuilder(); final char quotedChar = arg.charAt(0); int endIndex; for (endIndex = i; endIndex < args.length; ++endIndex) { final String arg2 = args[endIndex]; if (arg2.charAt(arg2.length() - 1) == quotedChar && arg2.length() > 1) { if (endIndex != i) build.append(' '); build.append(arg2.substring(endIndex == i ? 1 : 0, arg2.length() - 1)); break; } else if (endIndex == i) { build.append(arg2.substring(1)); } else { build.append(' ').append(arg2); } } if (endIndex < args.length) { arg = build.toString(); i = endIndex; } // In case there is an empty quoted string if (arg.isEmpty()) { continue; } // else raise exception about hanging quotes? } argList.add(arg); } // Then flags List<Integer> originalArgIndices = Lists.newArrayListWithCapacity(argIndexList.size()); List<String> parsedArgs = Lists.newArrayListWithCapacity(argList.size()); Map<Character, String> valueFlags = Maps.newHashMap(); List<Character> booleanFlags = Lists.newArrayList(); for (int nextArg = 0; nextArg < argList.size();) { // Fetch argument String arg = argList.get(nextArg++); suggestionContext = SuggestionContext.hangingValue(); // Not a flag? if (arg.charAt(0) != '-' || arg.length() == 1 || !arg.matches("^-[a-zA-Z\\?]+$")) { if (!isHanging) { suggestionContext = SuggestionContext.lastValue(); } originalArgIndices.add(argIndexList.get(nextArg - 1)); parsedArgs.add(arg); continue; } // Handle flag parsing terminator -- if (arg.equals("--")) { while (nextArg < argList.size()) { originalArgIndices.add(argIndexList.get(nextArg)); parsedArgs.add(argList.get(nextArg++)); } break; } // Go through the flag characters for (int i = 1; i < arg.length(); ++i) { char flagName = arg.charAt(i); if (expectedValueFlags.contains(flagName)) { if (valueFlags.containsKey(flagName)) { throw new CommandException("Value flag '" + flagName + "' already given"); } if (nextArg >= argList.size()) { if (allowHangingFlag) { suggestionContext = SuggestionContext.flag(flagName); break; } else { throw new CommandException("No value specified for the '-" + flagName + "' flag."); } } // If it is a value flag, read another argument and add it valueFlags.put(flagName, argList.get(nextArg++)); if (!isHanging) { suggestionContext = SuggestionContext.flag(flagName); } } else { booleanFlags.add(flagName); } } } ImmutableMap.Builder<Character, String> allFlagsBuilder = new ImmutableMap.Builder<Character, String>() .putAll(valueFlags); for (Character flag : booleanFlags) { allFlagsBuilder.put(flag, "true"); } this.parsedArgs = ImmutableList.copyOf(parsedArgs); this.originalArgIndices = ImmutableList.copyOf(originalArgIndices); this.booleanFlags = ImmutableSet.copyOf(booleanFlags); this.valueFlags = ImmutableMap.copyOf(valueFlags); this.allFlags = allFlagsBuilder.build(); this.suggestionContext = suggestionContext; }
From source file:com.android.tools.idea.wizard.TemplateParameterStep2.java
private Map<String, Object> getImplicitParameters() { ImmutableMap.Builder<String, Object> builder = new ImmutableMap.Builder<String, Object>(); for (Key<String> parameter : AddAndroidActivityPath.IMPLICIT_PARAMETERS) { String value = myState.get(parameter); if (value != null) { builder.put(parameter.name, value); }/*from www .ja va 2 s . com*/ } return builder.build(); }
From source file:com.android.tools.idea.npw.TemplateParameterStep2.java
private Map<String, Object> getImplicitParameters() { ImmutableMap.Builder<String, Object> builder = new ImmutableMap.Builder<>(); for (Key<?> parameter : AddAndroidActivityPath.IMPLICIT_PARAMETERS) { Object value = myState.get(parameter); if (value != null) { builder.put(parameter.name, value); }//from w w w .j a v a 2s . c o m } return builder.build(); }
From source file:edu.cmu.lti.oaqa.baseqa.passage.rerank.scorers.LuceneInMemoryPassageScorer.java
@Override public Map<String, Double> score(JCas jcas, Passage result) { ImmutableMap.Builder<String, Double> ret = new ImmutableMap.Builder<>(); String uri = TypeUtil.getUriOffsets(result, ":"); for (String conf : confs) { double rank = uri2conf2rank.contains(uri, conf) ? 1.0 / (uri2conf2rank.get(uri, conf) + 1.0) : 0.0; ret.put(conf + "/rank", rank); double score = uri2conf2score.contains(uri, conf) ? uri2conf2score.get(uri, conf) : 0.0; ret.put(conf + "/score", score); }//from www . jav a 2s .c o m return ret.build(); }
From source file:edu.cmu.lti.oaqa.baseqa.document.rerank.scorers.LuceneDocumentScorer.java
@Override public Map<String, Double> score(JCas jcas, Document result) { ImmutableMap.Builder<String, Double> ret = new ImmutableMap.Builder<>(); String uri = result.getUri(); for (String conf : confs) { double rank = uri2conf2rank.contains(uri, conf) ? 1.0 / (uri2conf2rank.get(uri, conf) + 1.0) : 0.0; ret.put(conf + "/rank", rank); double score = uri2conf2score.contains(uri, conf) ? uri2conf2score.get(uri, conf) : 0.0; ret.put(conf + "/score", score); }/* w ww .j a va 2 s.com*/ return ret.build(); }
From source file:edu.cmu.lti.oaqa.baseqa.concept.rerank.scorers.LuceneConceptScorer.java
@Override public Map<String, Double> score(JCas jcas, ConceptSearchResult result) { ImmutableMap.Builder<String, Double> ret = new ImmutableMap.Builder<>(); String uri = result.getUri(); for (String conf : confs) { double rank = uri2conf2rank.contains(uri, conf) ? 1.0 / (uri2conf2rank.get(uri, conf) + 1.0) : 0.0; ret.put(conf + "/rank", rank); double score = uri2conf2score.contains(uri, conf) ? uri2conf2score.get(uri, conf) : 0.0; ret.put(conf + "/score", score); }/* www .j a va2s. c om*/ return ret.build(); }