当前位置: 首页>>代码示例>>Java>>正文


Java BTreeSet.of方法代码示例

本文整理汇总了Java中org.apache.cassandra.utils.btree.BTreeSet.of方法的典型用法代码示例。如果您正苦于以下问题:Java BTreeSet.of方法的具体用法?Java BTreeSet.of怎么用?Java BTreeSet.of使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.cassandra.utils.btree.BTreeSet的用法示例。


在下文中一共展示了BTreeSet.of方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildBound

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
public NavigableSet<ClusteringBound> buildBound(boolean isStart, boolean isInclusive)
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    if (size == 0)
        return BTreeSet.of(comparator, isStart ? ClusteringBound.BOTTOM : ClusteringBound.TOP);

    ByteBuffer[] newValues = size == elements.length
                           ? elements
                           : Arrays.copyOf(elements, size);

    return BTreeSet.of(comparator, ClusteringBound.create(ClusteringBound.boundKind(isStart, isInclusive), newValues));
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:17,代码来源:MultiCBuilder.java

示例2: build

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
public NavigableSet<Clustering> build()
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    CBuilder builder = CBuilder.create(comparator);

    if (elementsList.isEmpty())
        return BTreeSet.of(builder.comparator(), builder.build());

    BTreeSet.Builder<Clustering> set = BTreeSet.builder(builder.comparator());
    for (int i = 0, m = elementsList.size(); i < m; i++)
    {
        List<ByteBuffer> elements = elementsList.get(i);
        set.add(builder.buildWith(elements));
    }
    return set.build();
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:21,代码来源:MultiCBuilder.java

示例3: build

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
/**
 * Builds the <code>clusterings</code>.
 *
 * @return the clusterings
 */
public NavigableSet<Clustering> build()
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    CBuilder builder = CBuilder.create(comparator);

    if (elementsList.isEmpty())
        return BTreeSet.of(builder.comparator(), builder.build());

    BTreeSet.Builder<Clustering> set = BTreeSet.builder(builder.comparator());
    for (int i = 0, m = elementsList.size(); i < m; i++)
    {
        List<ByteBuffer> elements = elementsList.get(i);
        set.add(builder.buildWith(elements));
    }
    return set.build();
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:26,代码来源:MultiCBuilder.java

示例4: buildBound

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
public NavigableSet<Slice.Bound> buildBound(boolean isStart, boolean isInclusive)
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    CBuilder builder = CBuilder.create(comparator);

    if (elementsList.isEmpty())
        return BTreeSet.of(comparator, builder.buildBound(isStart, isInclusive));

    // Use a TreeSet to sort and eliminate duplicates
    BTreeSet.Builder<Slice.Bound> set = BTreeSet.builder(comparator);

    for (int i = 0, m = elementsList.size(); i < m; i++)
    {
        List<ByteBuffer> elements = elementsList.get(i);
        set.add(builder.buildBoundWith(elements, isStart, isInclusive));
    }
    return set.build();
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:23,代码来源:MultiCBuilder.java

示例5: buildBoundForSlice

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
public NavigableSet<ClusteringBound> buildBoundForSlice(boolean isStart,
                                                    boolean isInclusive,
                                                    boolean isOtherBoundInclusive,
                                                    List<ColumnDefinition> columnDefs)
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    CBuilder builder = CBuilder.create(comparator);

    if (elementsList.isEmpty())
        return BTreeSet.of(comparator, builder.buildBound(isStart, isInclusive));

    // Use a TreeSet to sort and eliminate duplicates
    BTreeSet.Builder<ClusteringBound> set = BTreeSet.builder(comparator);

    // The first column of the slice might not be the first clustering column (e.g. clustering_0 = ? AND (clustering_1, clustering_2) >= (?, ?)
    int offset = columnDefs.get(0).position();

    for (int i = 0, m = elementsList.size(); i < m; i++)
    {
        List<ByteBuffer> elements = elementsList.get(i);

        // Handle the no bound case
        if (elements.size() == offset)
        {
            set.add(builder.buildBoundWith(elements, isStart, true));
            continue;
        }

        // In the case of mixed order columns, we will have some extra slices where the columns change directions.
        // For example: if we have clustering_0 DESC and clustering_1 ASC a slice like (clustering_0, clustering_1) > (1, 2)
        // will produce 2 slices: [BOTTOM, 1) and (1.2, 1]
        // So, the END bound will return 2 bounds with the same values 1
        ColumnDefinition lastColumn = columnDefs.get(columnDefs.size() - 1);
        if (elements.size() <= lastColumn.position() && i < m - 1 && elements.equals(elementsList.get(i + 1)))
        {
            set.add(builder.buildBoundWith(elements, isStart, false));
            set.add(builder.buildBoundWith(elementsList.get(i++), isStart, true));
            continue;
        }

        // Handle the normal bounds
        ColumnDefinition column = columnDefs.get(elements.size() - 1 - offset);
        set.add(builder.buildBoundWith(elements, isStart, column.isReversedType() ? isOtherBoundInclusive : isInclusive));
    }
    return set.build();
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:51,代码来源:MultiCBuilder.java

示例6: buildBoundForSlice

import org.apache.cassandra.utils.btree.BTreeSet; //导入方法依赖的package包/类
/**
 * Builds the <code>Slice.Bound</code>s for slice restrictions.
 *
 * @param isStart specify if the bound is a start one
 * @param isInclusive specify if the bound is inclusive or not
 * @param isOtherBoundInclusive specify if the other bound is inclusive or not
 * @param columnDefs the columns of the slice restriction
 * @return the <code>Slice.Bound</code>s
 */
public NavigableSet<Slice.Bound> buildBoundForSlice(boolean isStart,
                                                    boolean isInclusive,
                                                    boolean isOtherBoundInclusive,
                                                    List<ColumnDefinition> columnDefs)
{
    built = true;

    if (hasMissingElements)
        return BTreeSet.empty(comparator);

    CBuilder builder = CBuilder.create(comparator);

    if (elementsList.isEmpty())
        return BTreeSet.of(comparator, builder.buildBound(isStart, isInclusive));

    // Use a TreeSet to sort and eliminate duplicates
    BTreeSet.Builder<Slice.Bound> set = BTreeSet.builder(comparator);

    // The first column of the slice might not be the first clustering column (e.g. clustering_0 = ? AND (clustering_1, clustering_2) >= (?, ?)
    int offset = columnDefs.get(0).position();

    for (int i = 0, m = elementsList.size(); i < m; i++)
    {
        List<ByteBuffer> elements = elementsList.get(i);

        // Handle the no bound case
        if (elements.size() == offset)
        {
            set.add(builder.buildBoundWith(elements, isStart, true));
            continue;
        }

        // In the case of mixed order columns, we will have some extra slices where the columns change directions.
        // For example: if we have clustering_0 DESC and clustering_1 ASC a slice like (clustering_0, clustering_1) > (1, 2)
        // will produce 2 slices: [BOTTOM, 1) and (1.2, 1]
        // So, the END bound will return 2 bounds with the same values 1
        ColumnDefinition lastColumn = columnDefs.get(columnDefs.size() - 1);
        if (elements.size() <= lastColumn.position() && i < m - 1 && elements.equals(elementsList.get(i + 1)))
        {
            set.add(builder.buildBoundWith(elements, isStart, false));
            set.add(builder.buildBoundWith(elementsList.get(i++), isStart, true));
            continue;
        }

        // Handle the normal bounds
        ColumnDefinition column = columnDefs.get(elements.size() - 1 - offset);
        set.add(builder.buildBoundWith(elements, isStart, column.isReversedType() ? isOtherBoundInclusive : isInclusive));
    }
    return set.build();
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:60,代码来源:MultiCBuilder.java


注:本文中的org.apache.cassandra.utils.btree.BTreeSet.of方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。