APIdia Launch Partner
Top Description Fields Methods
jdk.internal.classfile.components

public sealed Interface ClassRemapper

extends ClassTransform
permits ClassRemapperImpl
Known Direct Implementers
jdk.internal.classfile.impl.ClassRemapperImpl
Imports
java.lang.classfile.ClassFile, .ClassModel, .ClassTransform, .CodeTransform, .FieldTransform, .MethodTransform, java.lang.constant.ClassDesc, java.util.Map, java.util.function.Function, jdk.internal.classfile.impl.ClassRemapperImpl

ClassRemapper is a ClassTransform, FieldTransform, MethodTransform and CodeTransform deeply re-mapping all class references in any form, according to given map or map function.

The re-mapping is applied to superclass, interfaces, all kinds of descriptors and signatures, all attributes referencing classes in any form (including all types of annotations), and to all instructions referencing to classes.

Primitive types and arrays are never subjects of mapping and are not allowed targets of mapping.

Arrays of reference types are always decomposed, mapped as the base reference types and composed back to arrays.

Field Summary

Inherited from java.lang.classfile.ClassTransform:
ACCEPT_ALL

Method Summary

Modifier and TypeMethod and Description
public CodeTransform

Returns:

this ClassRemapper as CodeTransform instance
asCodeTransform
()

Returns this ClassRemapper as CodeTransform instance.

public FieldTransform

Returns:

this ClassRemapper as FieldTransform instance
asFieldTransform
()

Returns this ClassRemapper as FieldTransform instance.

public MethodTransform

Returns:

this ClassRemapper as MethodTransform instance
asMethodTransform
()

Returns this ClassRemapper as MethodTransform instance.

public ClassDesc

Returns:

target class
map
(ClassDesc
source class
desc
)

Access method to internal class mapping function.

public static ClassRemapper

Returns:

new instance of ClassRemapper
of
(Map<ClassDesc, ClassDesc>
class map
classMap
)

Creates new instance of ClassRemapper instructed with a class map.

public static ClassRemapper

Returns:

new instance of ClassRemapper
of
(Function<ClassDesc, ClassDesc>
class map function
mapFunction
)

Creates new instance of ClassRemapper instructed with a map function.

public default byte[]

Returns:

re-mapped class file bytes
remapClass
(ClassFile
ClassFile context
context
,
ClassModel
class model to re-map
clm
)

Remaps the whole ClassModel into a new class file, including the class name.

Inherited from java.lang.classfile.ClassTransform:
andThendroppingendHandlerofStatefultransformingFieldstransformingMethodBodiestransformingMethodBodiestransformingMethodstransformingMethods

Method Detail

asCodeTransformback to summary
public CodeTransform asCodeTransform()

Returns this ClassRemapper as CodeTransform instance.

Returns:CodeTransform

this ClassRemapper as CodeTransform instance

asFieldTransformback to summary
public FieldTransform asFieldTransform()

Returns this ClassRemapper as FieldTransform instance.

Returns:FieldTransform

this ClassRemapper as FieldTransform instance

asMethodTransformback to summary
public MethodTransform asMethodTransform()

Returns this ClassRemapper as MethodTransform instance.

Returns:MethodTransform

this ClassRemapper as MethodTransform instance

mapback to summary
public ClassDesc map(ClassDesc desc)

Access method to internal class mapping function.

Parameters
desc:ClassDesc

source class

Returns:ClassDesc

target class

ofback to summary
public static ClassRemapper of(Map<ClassDesc, ClassDesc> classMap)

Creates new instance of ClassRemapper instructed with a class map. Map may contain only re-mapping entries, identity mapping is applied by default.

Parameters
classMap:Map<ClassDesc, ClassDesc>

class map

Returns:ClassRemapper

new instance of ClassRemapper

ofback to summary
public static ClassRemapper of(Function<ClassDesc, ClassDesc> mapFunction)

Creates new instance of ClassRemapper instructed with a map function. Map function must return valid java.lang.constant.ClassDesc of an interface or a class, even for identity mappings.

Parameters
mapFunction:Function<ClassDesc, ClassDesc>

class map function

Returns:ClassRemapper

new instance of ClassRemapper

remapClassback to summary
public default byte[] remapClass(ClassFile context, ClassModel clm)

Remaps the whole ClassModel into a new class file, including the class name.

Parameters
context:ClassFile

ClassFile context

clm:ClassModel

class model to re-map

Returns:byte[]

re-mapped class file bytes