Package org.klomp.snark.bencode
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)
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
getBytes()
Returns this BEValue as a byte[].int
getInt()
Returns this BEValue as int.List<BEValue>
getList()
Returns this BEValue as a List of BEValues.long
getLong()
Returns this BEValue as long.Map<String,BEValue>
getMap()
Returns this BEValue as a Map of BEValue keys and BEValue values.Number
getNumber()
Returns this BEValue as a Number.String
getString()
Returns this BEValue as a String.Object
getValue()
return the untyped valueString
toString()
-
-
-
Method Detail
-
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 ofNumber.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 ofNumber.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
-
-