Interface IUserDataSupport

All Known Subinterfaces:
IAddressableUnit, IApkUnit, IArchiveUnit, IBinaryUnit, ICertificateUnit, ICodeObjectUnit, ICodeUnit, IDalvikDebuggerUnit, IDartAotUnit, IDebuggerUnit, IDecompilerUnit, IDexDecompilerUnit, IDexUnit, IDuplicatedUnit, IELFUnit, IInteractiveUnit, IJavaSourceUnit, IJsonUnit, INativeCodeUnit<InsnType>, INativeDebuggerUnit, INativeDecompilerUnit<InsnType>, INativeSourceUnit, IPECOFFUnit, IRuntimeProject, IS7Unit, ISourceUnit, IUnit, IXApkUnit, IXmlUnit
All Known Implementing Classes:
AbstractBinaryUnit, AbstractCodeObjectUnit, AbstractCodeUnit, AbstractInteractiveBinaryUnit, AbstractInteractiveUnit, AbstractUnit, BinaryWrapperUnit, ContainerUnit, DataContainerUnit, FileContainerUnit, InteractiveWrapperUnit, LazyDataContainerUnit, UnknownBinaryUnit, UserDataSupport, WrapperUnit

@Ser public interface IUserDataSupport
This decorator interface is used to let users know that arbitrary data objects may be attached to the object. The attached objects (both keys and values) must be serializable since this interface is itself serializable.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Remove all pieces of custom unit data.
    Retrieve a map containing all key-value pairs of of custom unit data.
    Retrieve a piece of custom unit data.
    void
    setData(Object key, Object value, boolean persist)
    Store a piece of custom unit data.
  • Method Details

    • setData

      void setData(Object key, Object value, boolean persist)
      Store a piece of custom unit data.
      Parameters:
      key - non-null key
      value - optional value (may be null)
      persist - if false, the piece of data is transient and will not be persisted to disk when saving the project to a JEB database; if true, the piece of data will be persisted, in which case, user of this method must ensure that both key and value are serializable; if unsure, it is recommended to either not persist the data, or if persistence is a requirement, use only key/value types that are guaranteed to be persisted, such as any basic types (String, boxed primitive types, primitive types, arrays or lists of those, etc.)
    • getData

      Object getData(Object key)
      Retrieve a piece of custom unit data.
      Parameters:
      key - non-null key
      Returns:
      value (null may indicate that the key-value pair is not present or that the stored value is null)
    • clearAllData

      void clearAllData(Object key)
      Remove all pieces of custom unit data.
      Parameters:
      key -
    • getAllData

      Map<Object,Object> getAllData()
      Retrieve a map containing all key-value pairs of of custom unit data.
      Returns:
      a map