Class BEValue

java.lang.Object
org.klomp.snark.bencode.BEValue

public class BEValue extends Object
Holds different types that a bencoded byte array can represent. You need to call the correct get method to get the correct java type object. If the BEValue wasn't actually of the requested type you will get a InvalidBEncodingException.
Author:
Mark Wielaard (mark@klomp.org)
  • Constructor Details

    • BEValue

      public BEValue(byte[] value)
    • BEValue

      public BEValue(Number value)
    • BEValue

      public BEValue(List<BEValue> value)
    • BEValue

      public BEValue(Map<String,BEValue> value)
  • Method Details

    • getString

      public String getString() throws InvalidBEncodingException
      Returns this BEValue as a String. This operation only succeeds when the BEValue is a byte[], otherwise it will throw a InvalidBEncodingException. The byte[] will be interpreted as UTF-8 encoded characters.
      Throws:
      InvalidBEncodingException
    • getBytes

      public byte[] getBytes() throws InvalidBEncodingException
      Returns this BEValue as a byte[]. This operation only succeeds when the BEValue is actually a byte[], otherwise it will throw a InvalidBEncodingException.
      Throws:
      InvalidBEncodingException
    • getNumber

      public Number getNumber() throws InvalidBEncodingException
      Returns this BEValue as a Number. This operation only succeeds when the BEValue is actually a Number, otherwise it will throw a InvalidBEncodingException.
      Throws:
      InvalidBEncodingException
    • getInt

      public int getInt() throws InvalidBEncodingException
      Returns this BEValue as int. This operation only succeeds when the BEValue is actually a Number, otherwise it will throw a InvalidBEncodingException. The returned int is the result of Number.intValue().
      Throws:
      InvalidBEncodingException
    • getLong

      public long getLong() throws InvalidBEncodingException
      Returns this BEValue as long. This operation only succeeds when the BEValue is actually a Number, otherwise it will throw a InvalidBEncodingException. The returned long is the result of Number.longValue().
      Throws:
      InvalidBEncodingException
    • getList

      public List<BEValue> getList() throws InvalidBEncodingException
      Returns this BEValue as a List of BEValues. This operation only succeeds when the BEValue is actually a List, otherwise it will throw a InvalidBEncodingException.
      Throws:
      InvalidBEncodingException
    • getMap

      public Map<String,BEValue> getMap() throws InvalidBEncodingException
      Returns this BEValue as a Map of BEValue keys and BEValue values. This operation only succeeds when the BEValue is actually a Map, otherwise it will throw a InvalidBEncodingException.
      Throws:
      InvalidBEncodingException
    • getValue

      public Object getValue()
      return the untyped value
    • toString

      public String toString()
      Overrides:
      toString in class Object