Package it.unimi.dsi.webgraph
Class ImmutableSequentialGraph
java.lang.Object
it.unimi.dsi.webgraph.ImmutableGraph
it.unimi.dsi.webgraph.ImmutableSequentialGraph
- All Implemented Interfaces:
FlyweightPrototype<ImmutableGraph>
- Direct Known Subclasses:
ArcListASCIIGraph
,ASCIIGraph
,ErdosRenyiGraph
,IncrementalImmutableSequentialGraph
,IntegerListImmutableGraph
,ScatteredArcsASCIIGraph
,Transform.BatchGraph
public abstract class ImmutableSequentialGraph extends ImmutableGraph
An abstract immutable graph that throws an
UnsupportedOperationException
on all random-access methods.
The main purpose of this class is to be used as a base for the numerous anonymous
classes that do not support random access. Note that we override ImmutableGraph
's
implementation of nodeIterator(int)
: here we just call
ImmutableGraph.nodeIterator()
and skip to the desired node. This makes nodeIterator()
and nodeIterator(0)
equivalent, which is usually what you want.
-
Nested Class Summary
Nested classes/interfaces inherited from class it.unimi.dsi.webgraph.ImmutableGraph
ImmutableGraph.LoadMethod
-
Field Summary
Fields inherited from class it.unimi.dsi.webgraph.ImmutableGraph
GRAPHCLASS_PROPERTY_KEY, NUMBER_OF_THREADS_PROPERTY, PROPERTIES_EXTENSION
-
Constructor Summary
Constructors Constructor Description ImmutableSequentialGraph()
-
Method Summary
Modifier and Type Method Description ImmutableGraph
copy()
Throws anUnsupportedOperationException
.NodeIterator
nodeIterator(int from)
Returns a node iterator for scanning the graph sequentially, starting from the given node.int
outdegree(int x)
Throws anUnsupportedOperationException
.boolean
randomAccess()
Returns false.int[]
successorArray(int x)
Throws anUnsupportedOperationException
.Methods inherited from class it.unimi.dsi.webgraph.ImmutableGraph
basename, equals, hasCopiableIterators, hashCode, load, load, load, loadMapped, loadMapped, loadOffline, loadOffline, loadOnce, loadSequential, loadSequential, nodeIterator, numArcs, numNodes, outdegrees, splitNodeIterators, store, store, successors, toString
-
Constructor Details
-
ImmutableSequentialGraph
public ImmutableSequentialGraph()
-
-
Method Details
-
successorArray
public int[] successorArray(int x)Throws anUnsupportedOperationException
.- Overrides:
successorArray
in classImmutableGraph
- Parameters:
x
- a node.- Returns:
- an array whose first elements are the successors of the node; the array must not be modified by the caller.
-
outdegree
public int outdegree(int x)Throws anUnsupportedOperationException
.- Specified by:
outdegree
in classImmutableGraph
- Parameters:
x
- a node.- Returns:
- the outdegree of the given node.
-
randomAccess
public boolean randomAccess()Returns false.- Specified by:
randomAccess
in classImmutableGraph
- Returns:
- false.
-
nodeIterator
Description copied from class:ImmutableGraph
Returns a node iterator for scanning the graph sequentially, starting from the given node.- Overrides:
nodeIterator
in classImmutableGraph
- Parameters:
from
- the node from which the iterator will iterate.- Returns:
- a
NodeIterator
for accessing nodes and successors sequentially.
-
copy
Throws anUnsupportedOperationException
.- Specified by:
copy
in interfaceFlyweightPrototype<ImmutableGraph>
- Specified by:
copy
in classImmutableGraph
- Returns:
- a flyweight copy of this immutable graph.
- See Also:
FlyweightPrototype
-