Package serp.bytecode
Class Attributes
java.lang.Object
serp.bytecode.Attributes
- All Implemented Interfaces:
BCEntity
Abstract superclass for all bytecode entities that hold attributes.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddAttribute
(String name) Add an attribute of the given type.addAttribute
(Attribute attr) Import an attribute from another entity, or make a copy of one on this entity.void
Clear all attributes from this entity.getAttribute
(String name) Return the attribute with the given name.Return all the attributes owned by this entity.getAttributes
(String name) Return all attributes with the given name.(package private) abstract Collection
Return the collection used to hold the attributes of this entity.(package private) void
Build the attribute list from the given stream.boolean
removeAttribute
(String name) Remove all attributes with the given name from this entity.boolean
removeAttribute
(Attribute attribute) Remove the given attribute.void
setAttributes
(Attribute[] attrs) Set the attributes for this entity; this method is useful for importing all attributes from another entity.(package private) void
visitAttributes
(BCVisitor visit) Convenience method to be called by BCEntities when being visited by aBCVisitor
; this method will allow the visitor to visit all attributes of this entity.(package private) void
Writes all the owned attributes to the given stream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface serp.bytecode.BCEntity
getClassLoader, getPool, getProject, isValid
-
Constructor Details
-
Attributes
public Attributes()
-
-
Method Details
-
getAttributes
Return all the attributes owned by this entity.- Returns:
- all owned attributes, or empty array if none
-
getAttribute
Return the attribute with the given name. If multiple attributes share the name, which is returned is undefined. -
getAttributes
Return all attributes with the given name.- Returns:
- the matching attributes, or empty array if none
-
setAttributes
Set the attributes for this entity; this method is useful for importing all attributes from another entity. Set to null or empty array if none. -
addAttribute
Import an attribute from another entity, or make a copy of one on this entity. -
addAttribute
Add an attribute of the given type. -
clearAttributes
public void clearAttributes()Clear all attributes from this entity. -
removeAttribute
Remove all attributes with the given name from this entity.- Returns:
- true if an attribute was removed, false otherwise
-
removeAttribute
Remove the given attribute. After being removed, the attribute is invalid, and the result of any operations on it are undefined.- Returns:
- true if the attribute was removed, false otherwise
-
visitAttributes
Convenience method to be called by BCEntities when being visited by aBCVisitor
; this method will allow the visitor to visit all attributes of this entity. -
readAttributes
Build the attribute list from the given stream. Relies on the ability of attributes to read themselves, and requires access to the constant pool, which must already by read.- Throws:
IOException
-
writeAttributes
Writes all the owned attributes to the given stream. Relies on the ability of attributes to write themselves.- Throws:
IOException
-
getAttributesHolder
Return the collection used to hold the attributes of this entity.
-