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 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
-