public interface WovenClass
WeavingHook
for possible modification. It allows access to the most
recently transformed class file bytes and to any additional packages that
should be added to the bundle as dynamic imports.
After weaving is complete
, this object becomes
effectively immutable.
Modifier and Type | Method and Description |
---|---|
BundleWiring |
getBundleWiring()
Returns the bundle wiring whose class loader will define the woven class.
|
byte[] |
getBytes()
Returns the class file bytes to be used to define the
named class. |
String |
getClassName()
Returns the fully qualified name of the class being woven.
|
Class<?> |
getDefinedClass()
Returns the class defined by this woven class.
|
List<String> |
getDynamicImports()
Returns the list of dynamic import package descriptions to add to the
bundle wiring for this woven class. |
ProtectionDomain |
getProtectionDomain()
Returns the protection domain to which the woven class will be assigned
when it is defined.
|
boolean |
isWeavingComplete()
Returns whether weaving is complete in this woven class.
|
void |
setBytes(byte[] newBytes)
Set the class file bytes to be used to define the
named class. |
byte[] getBytes()
named
class.
While weaving is not complete
, this method
returns a reference to the class files byte array contained in this
object. After weaving is complete
, this
object becomes effectively immutable and a copy of the class file byte
array is returned.
named
class.SecurityException
- If the caller does not have
AdminPermission[bundle,WEAVE]
and the Java runtime
environment supports permissions.void setBytes(byte[] newBytes)
named
class. This method must not be
called outside invocations of the weave
method by the framework.
While weaving is not complete
, this method
replaces the reference to the array contained in this object with the
specified array. After weaving is complete
,
this object becomes effectively immutable and this method will throw an
IllegalStateException
.
newBytes
- The new classfile that will be used to define the
named
class. The specified array
is retained by this object and the caller must not modify the
specified array.NullPointerException
- If newBytes is null
.IllegalStateException
- If weaving is complete
.SecurityException
- If the caller does not have
AdminPermission[bundle,WEAVE]
and the Java runtime
environment supports permissions.List<String> getDynamicImports()
bundle wiring
for this woven class. Changes
made to the returned list will be visible to later weaving hooks
called with this object. The returned list must not be
modified outside invocations of the weave
method by the framework.
After weaving is complete
, this object
becomes effectively immutable and the returned list will be unmodifiable.
If the Java runtime environment supports permissions, the caller must
have AdminPermission[bundle,WEAVE]
to modify the returned list.
IllegalArgumentException
if a
malformed dynamic import package description is added.boolean isWeavingComplete()
weaving hook
is called and
the class is defined.
After weaving is complete, this object becomes effectively immutable.
true
weaving is complete, false
otherwise.String getClassName()
ProtectionDomain getProtectionDomain()
null
if no protection domain will
be assigned.Class<?> getDefinedClass()
null
. Once weaving is
complete
, this method will return the class
object if this woven class was used to define the class.null
if
weaving is not complete, the class definition failed or this
woven class was not used to define the class.BundleWiring getBundleWiring()
Copyright © 2006-2015 The Apache Software Foundation. All Rights Reserved.