Interface BinaryReferenceTraverser
-
- All Known Implementing Classes:
BinaryReferenceTraverser.InlinedComplexType
,BinaryReferenceTraverser.ReferenceRangeTraverser
,BinaryReferenceTraverser.ReferenceRangeTraverserReversed
,BinaryReferenceTraverser.SkippingRangeTraverser
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface BinaryReferenceTraverser
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
BinaryReferenceTraverser.Analyzer
static class
BinaryReferenceTraverser.InlinedComplexType
static class
BinaryReferenceTraverser.ReferenceRangeTraverser
static class
BinaryReferenceTraverser.ReferenceRangeTraverserReversed
static class
BinaryReferenceTraverser.SkippingRangeTraverser
static class
BinaryReferenceTraverser.Static
-
Method Summary
Modifier and Type Method Description long
apply(long address, PersistenceObjectIdAcceptor acceptor)
default int
coveredConstantByteCount()
This method reports the amount of bytes that a particular instance of an implementing type covers or advances.default boolean
hasReferences()
static boolean
hasReferences(BinaryReferenceTraverser[] traversers)
default boolean
isVariableLength()
static void
iterateReferenceRange(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)
static void
iterateReferenceRangeReversed(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)
static long
iterateReferences(long address, BinaryReferenceTraverser[] traversers, PersistenceObjectIdAcceptor acceptor)
static BinaryReferenceTraverser[]
none()
-
-
-
Method Detail
-
apply
long apply(long address, PersistenceObjectIdAcceptor acceptor)
-
coveredConstantByteCount
default int coveredConstantByteCount()
This method reports the amount of bytes that a particular instance of an implementing type covers or advances. For example, an objectId is 8 bytes long. 5 objectIds are 40 bytes long. Skipping 6 bytes (primitives) is 6 bytes long. An implementation handling a variable length structure reports 0 bytes here.
-
hasReferences
default boolean hasReferences()
-
isVariableLength
default boolean isVariableLength()
-
iterateReferences
static long iterateReferences(long address, BinaryReferenceTraverser[] traversers, PersistenceObjectIdAcceptor acceptor)
-
iterateReferenceRange
static void iterateReferenceRange(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)
-
iterateReferenceRangeReversed
static void iterateReferenceRangeReversed(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)
-
none
static BinaryReferenceTraverser[] none()
-
hasReferences
static boolean hasReferences(BinaryReferenceTraverser[] traversers)
-
-