Interface TaggableObject

  • All Known Implementing Classes:
    BaseTaggableObject, Wallet

    public interface TaggableObject

    An object that can carry around and possibly serialize a map of strings to immutable byte arrays. Tagged objects can have data stored on them that might be useful for an application developer. For example a wallet can store tags, and thus this would be a reasonable place to put any important data items that the bitcoinj API does not allow for: things like exchange rates at the time a transaction was made would currently fall into this category. Of course, it helps interop and other developers if you introduce a real type safe API for a new feature instead of using this so please consider that path, if you find yourself tempted to store tags!

    Good tag names won't conflict with other people's code, should you one day decide to merge them. Choose tag names like "com.example:keyowner:02b7e6dc316dfaa19c5a599f63d88ffeae398759b857ca56b2f69de3e815381343" instead of "owner" or just "o". Also, it's good practice to create constants for each string you use, to help avoid typos in string parameters causing confusing bugs!

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      com.google.protobuf.ByteString getTag​(java.lang.String tag)
      Returns the immutable byte array associated with the given tag name, or throws IllegalArgumentException if that tag wasn't set yet.
      java.util.Map<java.lang.String,​com.google.protobuf.ByteString> getTags()
      Returns a copy of all the tags held by this object.
      com.google.protobuf.ByteString maybeGetTag​(java.lang.String tag)
      Returns the immutable byte array associated with the given tag name, or null if there is none.
      void setTag​(java.lang.String tag, com.google.protobuf.ByteString value)
      Associates the given immutable byte array with the string tag.
    • Method Detail

      • maybeGetTag

        @Nullable
        com.google.protobuf.ByteString maybeGetTag​(java.lang.String tag)
        Returns the immutable byte array associated with the given tag name, or null if there is none.
      • getTag

        com.google.protobuf.ByteString getTag​(java.lang.String tag)
        Returns the immutable byte array associated with the given tag name, or throws IllegalArgumentException if that tag wasn't set yet.
      • setTag

        void setTag​(java.lang.String tag,
                    com.google.protobuf.ByteString value)
        Associates the given immutable byte array with the string tag. See the docs for TaggableObject to learn more.
      • getTags

        java.util.Map<java.lang.String,​com.google.protobuf.ByteString> getTags()
        Returns a copy of all the tags held by this object.