|
OSGi™ Service Platform Core Specification Release 4 Version 4.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface WovenClass
A class being woven.
This object represents a class being woven and is passed to each
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.
Method Summary | |
---|---|
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. |
java.lang.String |
getClassName()
Returns the fully qualified name of the class being woven. |
java.lang.Class<?> |
getDefinedClass()
Returns the class associated with this woven class. |
java.util.List<java.lang.String> |
getDynamicImports()
Returns the list of dynamic import package descriptions to add to the bundle wiring for this woven class. |
java.security.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. |
Method Detail |
---|
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.
java.lang.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.
java.lang.NullPointerException
- If newBytes is null
.
java.lang.IllegalStateException
- If weaving is complete
.
java.lang.SecurityException
- If the caller does not have
AdminPermission[bundle,WEAVE]
and the Java runtime
environment supports permissions.java.util.List<java.lang.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.java.lang.String getClassName()
java.security.ProtectionDomain getProtectionDomain()
null
if no protection domain will
be assigned.java.lang.Class<?> getDefinedClass()
null
until weaving is
complete
. Once weaving is complete, this
method will return the class object.
null
if
weaving is not complete or the class definition failed.BundleWiring getBundleWiring()
|
OSGi™ Service Platform Core Specification Release 4 Version 4.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |