类com.google.common.collect.ImmutableBiMap.Builder源码实例Demo

下面列出了怎么用com.google.common.collect.ImmutableBiMap.Builder的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: yangtools   文件: PrefixConverters.java
/**
 * Create a prefix {@link Converter} for {@link XPathExpressionException} defined in a particular YANG
 * {@link Module} .Instantiation requires establishing how a module's imports are mapped to actual modules
 * and their namespaces. This information is cached and used for improved lookups.
 *
 * @param ctx A SchemaContext
 * @param module Module in which the XPath is defined
 * @return A new Converter
 */
public static @NonNull Converter<String, QNameModule> create(final SchemaContext ctx, final Module module) {
    // Always check for null ctx
    requireNonNull(ctx, "Schema context may not be null");

    // Use immutable map builder for detection of duplicates (which should never occur)
    final Builder<String, QNameModule> b = ImmutableBiMap.builder();
    b.put(module.getPrefix(), module.getQNameModule());

    for (ModuleImport i : module.getImports()) {
        final Optional<? extends Module> mod = ctx.findModule(i.getModuleName(), i.getRevision());
        checkArgument(mod.isPresent(), "Unsatisfied import of %s by module %s", i, module);

        b.put(i.getPrefix(), mod.get().getQNameModule());
    }

    return Maps.asConverter(b.build());
}
 
源代码2 项目: geowave   文件: TieredSFCIndexStrategy.java
@Override
public void fromBinary(final byte[] bytes) {
  final ByteBuffer buf = ByteBuffer.wrap(bytes);
  final int numSfcs = VarintUtils.readUnsignedInt(buf);
  final int numDimensions = VarintUtils.readUnsignedInt(buf);
  final int mappingSize = VarintUtils.readUnsignedInt(buf);
  maxEstimatedDuplicateIdsPerDimension = VarintUtils.readUnsignedLong(buf);
  orderedSfcs = new SpaceFillingCurve[numSfcs];
  baseDefinitions = new NumericDimensionDefinition[numDimensions];
  for (int i = 0; i < numSfcs; i++) {
    final byte[] sfc = ByteArrayUtils.safeRead(buf, VarintUtils.readUnsignedInt(buf));
    orderedSfcs[i] = (SpaceFillingCurve) PersistenceUtils.fromBinary(sfc);
  }
  for (int i = 0; i < numDimensions; i++) {
    final byte[] dim = ByteArrayUtils.safeRead(buf, VarintUtils.readUnsignedInt(buf));
    baseDefinitions[i] = (NumericDimensionDefinition) PersistenceUtils.fromBinary(dim);
  }
  final Builder<Integer, Byte> bimapBuilder = ImmutableBiMap.builder();
  for (int i = 0; i < mappingSize; i++) {
    bimapBuilder.put(Byte.valueOf(buf.get()).intValue(), buf.get());
  }
  orderedSfcIndexToTierId = bimapBuilder.build();

  initDuplicateIdLookup();
}
 
源代码3 项目: yangtools   文件: BiMapYangNamespaceContext.java
public static BiMapYangNamespaceContext readFrom(final DataInput in) throws IOException {
    final int size = in.readInt();
    final Builder<String, QNameModule> builder = ImmutableBiMap.builder();
    for (int i = 0; i < size; ++i) {
        final String prefix = in.readUTF();
        final QNameModule namespace = QNameModule.readFrom(in);
        builder.put(prefix, namespace);
    }

    return new BiMapYangNamespaceContext(builder.build());
}
 
源代码4 项目: yangtools   文件: ModuleNameNamespaceContext.java
/**
 * Convert this object to an equivalent {@link BiMapYangNamespaceContext}.
 *
 * @return A BiMapYangNamespaceContext.
 */
public BiMapYangNamespaceContext toBiMap() {
    final Builder<String, QNameModule> builder = ImmutableBiMap.builder();
    for (String name : schemaContext.getModules().stream().map(Module::getName).collect(Collectors.toSet())) {
        builder.put(name, findNamespaceForPrefix(name).get());
    }
    return new BiMapYangNamespaceContext(builder.build());
}
 
源代码5 项目: Intake   文件: Universe.java
public Map<String, Body> getPrefixedWith(String prefix) {
    ImmutableMap.Builder<String, Body> matching = new Builder<String, Body>();
    for (Map.Entry<String, Body> entry : bodies.entrySet()) {
        if (entry.getKey().startsWith(prefix)) {
            matching.put(entry);
        }
    }
    return matching.build();
}
 
源代码6 项目: arctic-sea   文件: NamespaceContextBuilder.java
private Builder<String, String> getNamespaces() {
    return this.bimap;
}
 
 类方法
 同包方法