Interface PaddingLayout
- All Superinterfaces:
MemoryLayout
public sealed interface PaddingLayout extends MemoryLayout
A padding layout. A padding layout specifies the size of extra space which is typically not accessed by applications, and is typically used for aligning member layouts around word boundaries.
- Implementation Requirements:
- Implementing classes are immutable, thread-safe and value-based.
- Since:
- 22
Nested Class Summary
Nested classes/interfaces declared in interface MemoryLayout
MemoryLayout.PathElement | Modifier and Type | Interface | Description |
|---|---|---|
static interface |
MemoryLayout.PathElement |
An element in a layout path. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
PaddingLayout |
withByteAlignment |
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes). |
PaddingLayout |
withName |
Returns a memory layout with the same characteristics as this layout, but with the given name. |
PaddingLayout |
withoutName() |
Returns a memory layout with the same characteristics as this layout, but with no name. |
Methods declared in interface MemoryLayout
arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle | Modifier and Type | Method | Description |
|---|---|---|
VarHandle |
arrayElementVarHandle |
Creates a var handle that accesses adjacent elements in a memory segment at offsets selected by the given layout path, where the accessed elements have this layout, and where the initial layout in the path is this layout. |
long |
byteAlignment() |
Returns the alignment constraint associated with this layout, expressed in bytes. |
long |
byteOffset |
Computes the offset, in bytes, of the layout selected by the given layout path, where the initial layout in the path is this layout. |
MethodHandle |
byteOffsetHandle |
Creates a method handle that computes the offset, in bytes, of the layout selected by the given layout path, where the initial layout in the path is this layout. |
long |
byteSize() |
Returns the layout size, in bytes. |
boolean |
equals |
Compares the specified object with this layout for equality. |
int |
hashCode() |
Returns the hash code value for this layout. |
Optional |
name() |
Returns the name (if any) associated with this layout. |
long |
scale |
Returns offset + (byteSize() * index). |
MethodHandle |
scaleHandle() |
Returns a method handle that can be used to invoke MemoryLayout.scale(long, long) on this layout. |
MemoryLayout |
select |
Returns the layout selected from the provided path, where the initial layout in the path is this layout. |
MethodHandle |
sliceHandle |
Creates a method handle which, given a memory segment, returns a slice corresponding to the layout selected by the given layout path, where the initial layout in the path is this layout. |
String |
toString() |
Returns the string representation of this layout. |
VarHandle |
varHandle |
Creates a var handle that accesses a memory segment at the offset selected by the given layout path, where the initial layout in the path is this layout. |
Method Details
withName
PaddingLayout withName(String name)
Returns a memory layout with the same characteristics as this layout, but with the given name.
- Specified by:
-
withNamein interfaceMemoryLayout - Parameters:
-
name- the layout name - Returns:
- a memory layout with the same characteristics as this layout, but with the given name
- See Also:
withoutName
PaddingLayout withoutName()
Returns a memory layout with the same characteristics as this layout, but with no name.
- Specified by:
-
withoutNamein interfaceMemoryLayout - Returns:
- a memory layout with the same characteristics as this layout, but with no name
- See Also:
withByteAlignment
PaddingLayout withByteAlignment(long byteAlignment)
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).
- Specified by:
-
withByteAlignmentin interfaceMemoryLayout - Parameters:
-
byteAlignment- the layout alignment constraint, expressed in bytes - Returns:
- a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes)
- Throws:
-
IllegalArgumentException- ifbyteAlignmentis not a power of two
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.