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!
Modifier and Type | Method and Description |
---|---|
com.google.protobuf.ByteString |
getTag(String tag)
Returns the immutable byte array associated with the given tag name, or throws
IllegalArgumentException
if that tag wasn't set yet. |
Map<String,com.google.protobuf.ByteString> |
getTags()
Returns a copy of all the tags held by this object.
|
com.google.protobuf.ByteString |
maybeGetTag(String tag)
Returns the immutable byte array associated with the given tag name, or null if there is none.
|
void |
setTag(String tag,
com.google.protobuf.ByteString value)
Associates the given immutable byte array with the string tag.
|
@Nullable com.google.protobuf.ByteString maybeGetTag(String tag)
com.google.protobuf.ByteString getTag(String tag)
IllegalArgumentException
if that tag wasn't set yet.void setTag(String tag, com.google.protobuf.ByteString value)
Copyright © 2016. All rights reserved.