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 classBinaryReferenceTraverser.Analyzerstatic classBinaryReferenceTraverser.InlinedComplexTypestatic classBinaryReferenceTraverser.ReferenceRangeTraverserstatic classBinaryReferenceTraverser.ReferenceRangeTraverserReversedstatic classBinaryReferenceTraverser.SkippingRangeTraverserstatic classBinaryReferenceTraverser.Static
-
Method Summary
Modifier and Type Method Description longapply(long address, PersistenceObjectIdAcceptor acceptor)default intcoveredConstantByteCount()This method reports the amount of bytes that a particular instance of an implementing type covers or advances.default booleanhasReferences()static booleanhasReferences(BinaryReferenceTraverser[] traversers)default booleanisVariableLength()static voiditerateReferenceRange(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)static voiditerateReferenceRangeReversed(long address, long referenceRange, PersistenceObjectIdAcceptor iterator)static longiterateReferences(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)
-
-