public interface

INativeItem

implements ICodeItem INativeItemListenable
com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem
Known Indirect Subclasses

Class Overview

Master interface for all native code items (objects, types, etc.).

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
Public Methods
abstract void addFlags(int additions)
Add bits to the existing flags.
abstract void dispose(boolean notify)
Release resources used by INativeDataItem
abstract <T> T getAttribute(String name, Class<T> clazz)
Retrieve an attribute by name.
abstract Map<String, Object> getAttributes()
Retrieve a map of the item's attributes.
abstract boolean hasAttribute(String name)
Determine whether this item has an attribute.
abstract boolean hasFlag(int flag)
Indicate if INativeItem has a particular flag.
abstract boolean hasTrueAttribute(String name)
Convenience method to determine whether the item has an attribute and the attribute value is true.
abstract boolean isAutoGenerated()
Determine whether this item is marked as auto-generated.
abstract boolean isRenamed()
Convenience method used to determine whether this item has an effective name different than its original name.
abstract boolean removeAttribute(String name)
Remove an attribute.
abstract void removeFlags(int subtractions)
Remove bits from the existing flags.
abstract boolean setAttribute(String name, Object data)
Set an attribute.
abstract void setAutoGenerated(boolean autoGenerated)
Set a flag specifying whether this item was auto-generated by the native analyzer.
abstract void setFlags(int newFlags)
Set the flags.
abstract void setName(String name)
Set the effective name of the native item.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
From interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItemListenable

Public Methods

public abstract void addFlags (int additions)

Add bits to the existing flags.

public abstract void dispose (boolean notify)

Release resources used by INativeDataItem

Parameters
notify when true, this method issues a DISPOSED event after the object was disposed.

public abstract T getAttribute (String name, Class<T> clazz)

Retrieve an attribute by name.

public abstract Map<String, Object> getAttributes ()

Retrieve a map of the item's attributes.

public abstract boolean hasAttribute (String name)

Determine whether this item has an attribute.

public abstract boolean hasFlag (int flag)

Indicate if INativeItem has a particular flag.
Equivalent to (getGenericFlags() & flag) != 0.

public abstract boolean hasTrueAttribute (String name)

Convenience method to determine whether the item has an attribute and the attribute value is true.

public abstract boolean isAutoGenerated ()

Determine whether this item is marked as auto-generated.

public abstract boolean isRenamed ()

Convenience method used to determine whether this item has an effective name different than its original name.

Returns
  • true if the item was renamed

public abstract boolean removeAttribute (String name)

Remove an attribute.

public abstract void removeFlags (int subtractions)

Remove bits from the existing flags.

public abstract boolean setAttribute (String name, Object data)

Set an attribute.

Parameters
name cannot be null
data if null, the attribute is not set or removed if it were present

public abstract void setAutoGenerated (boolean autoGenerated)

Set a flag specifying whether this item was auto-generated by the native analyzer. This flag cna be used by other components and plugins. Typically, auto-generated items may be modified more liberally than non auto-generated items, which are likely to be created by users.s

public abstract void setFlags (int newFlags)

Set the flags.

public abstract void setName (String name)

Set the effective name of the native item. All native items can have a name.

Parameters
name the new name; use null to reset the item name to its original name