![]() |
All Packages This Package Class Hierarchy Class Search Index Class grendel.storage.NewsSetjava.lang.Object | +----grendel.storage.NewsSet
This class represents a set of integers. It uses a highly compressed encoding, taking advantage of the assumption that many of the integers are consecutive. This is intended for representing lines from the .newsrc file, which have lists of message-numbers lists like
1-29627,29635,29658,32861-32863
so the data has these properties:
public class NewsSet
extends java.lang.Object
{
// Fields 5
private long cached_value;
private int cached_value_index;
private long[] data;
private int data_length;
private int data_size;
// Constructors 4
public NewsSet();
public NewsSet(byte[], int, int);
public NewsSet(ByteBuf);
public NewsSet(String);
// Methods 38
public long countMissingInRange(long, long);
public boolean delete(long);
public boolean delete(long, long);
private final int emit_range(long[], int, long, long);
public long firstNonMember();
public long firstNonMember(long, long);
private void grow();
public boolean insert(long);
public boolean insert(long, long);
protected boolean isEmpty();
public long lastNonMember(long, long);
public static void main(String[]);
public void markDirty();
public long max();
public boolean member(long);
public long min();
public long nextMember(long);
private void optimize();
public long previousMember(long);
protected static void self_test();
protected static void self_test_adder();
protected static void self_test_adder(NewsSet, boolean, long, String);
protected static void self_test_decoder();
protected static void self_test_decoder(String, String);
protected static void self_test_first_nonmember(boolean);
protected static void self_test_first_nonmember(NewsSet, boolean, long, long, long);
protected static void self_test_last_nonmember(boolean);
protected static void self_test_last_nonmember(NewsSet, boolean, long, long, long);
protected static void self_test_member(boolean);
protected static void self_test_member(NewsSet, boolean, long, boolean);
protected static void self_test_next_member(boolean);
protected static void self_test_next_member(NewsSet, boolean, long, long);
protected static void self_test_prev_member(boolean);
protected static void self_test_prev_member(NewsSet, boolean, long, long);
protected static void self_test_ranges();
protected static void self_test_ranges(NewsSet, long, long, String);
public String toString();
public void write(ByteBuf);
}
Fields cached_valueprivate long cached_value cached_value_indexprivate int cached_value_index data_lengthprivate int data_length data_sizeprivate int data_size dataprivate long[] data
Constructors NewsSetpublic NewsSet() NewsSetpublic NewsSet(String chars) NewsSetpublic NewsSet(ByteBuf chars) NewsSet
public NewsSet(byte[] chars,
int start,
int end)
Methods growprivate void grow() firstNonMemberpublic long firstNonMember()
minpublic long min()
maxpublic long max()
memberpublic boolean member(long number)
insertpublic boolean insert(long number)
deletepublic boolean delete(long number)
emit_range
private final int emit_range(long[] out,
int i,
long a,
long b)
insert
public boolean insert(long start,
long end)
delete
public boolean delete(long start,
long end)
countMissingInRange
public long countMissingInRange(long range_start,
long range_end)
firstNonMember
public long firstNonMember(long min,
long max)
lastNonMember
public long lastNonMember(long min,
long max)
nextMemberpublic long nextMember(long after)
previousMemberpublic long previousMember(long after)
optimizeprivate void optimize()
isEmptyprotected boolean isEmpty()
markDirtypublic void markDirty()
writepublic void write(ByteBuf out)
toStringpublic String toString() self_test_decoderprotected static void self_test_decoder(String s, String target)
self_test_decoderprotected static void self_test_decoder() self_test_adderprotected static void self_test_adder(NewsSet set, boolean add_p, long value, String target) self_test_adderprotected static void self_test_adder() self_test_rangesprotected static void self_test_ranges(NewsSet set, long start, long end, String target) self_test_rangesprotected static void self_test_ranges() self_test_memberprotected static void self_test_member(NewsSet set, boolean cache, long elt, boolean target) self_test_first_nonmemberprotected static void self_test_first_nonmember(NewsSet set, boolean cache, long start, long end, long target) self_test_last_nonmemberprotected static void self_test_last_nonmember(NewsSet set, boolean cache, long start, long end, long target) self_test_next_memberprotected static void self_test_next_member(NewsSet set, boolean cache, long elt, long target) self_test_prev_memberprotected static void self_test_prev_member(NewsSet set, boolean cache, long elt, long target) self_test_memberprotected static void self_test_member(boolean cache) self_test_first_nonmemberprotected static void self_test_first_nonmember(boolean cache) self_test_last_nonmemberprotected static void self_test_last_nonmember(boolean cache) self_test_next_memberprotected static void self_test_next_member(boolean cache) self_test_prev_memberprotected static void self_test_prev_member(boolean cache) self_testprotected static void self_test() mainpublic static void main(String[] args) All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.4 |
|||||||
| Copyright © 1998-1999 The Mozilla Organization. | |||||||