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 Details
-
apply
-
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
-
hasReferences
-