Class BEncoder


  • public class BEncoder
    extends java.lang.Object
    A set of utility methods to encode a Map into a bencoded array of byte. integer are represented as Long, String as byte[], dictionnaries as Map, and list as List.
    • Field Detail

      • MINUS_1_BYTES

        private static final byte[] MINUS_1_BYTES
      • non_ascii_logs

        private static volatile int non_ascii_logs
      • current_buffer

        private byte[] current_buffer
      • current_buffer_pos

        private int current_buffer_pos
      • old_buffers

        private byte[][] old_buffers
      • int_buffer

        private final byte[] int_buffer
      • digits

        static final byte[] digits
      • DigitTens

        static final byte[] DigitTens
      • DigitOnes

        static final byte[] DigitOnes
    • Constructor Detail

      • BEncoder

        public BEncoder()
    • Method Detail

      • encode

        public static byte[] encode​(java.util.Map object)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • encodeObject

        private boolean encodeObject​(java.lang.Object object,
                                     boolean utf_key_expected)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • writeChar

        private void writeChar​(char c)
      • writeInt

        private void writeInt​(int i)
      • writeLong

        private void writeLong​(long l)
      • writeBytes

        private void writeBytes​(byte[] bytes)
      • writeBytes

        private void writeBytes​(byte[] bytes,
                                int offset,
                                int length)
      • writeByteBuffer

        private void writeByteBuffer​(java.nio.ByteBuffer bb)
      • getEncodedSoFar

        private java.lang.String getEncodedSoFar()
      • toByteArray

        private byte[] toByteArray()
      • normaliseObject

        private static java.lang.Object normaliseObject​(java.lang.Object o)
      • isEncodable

        public static boolean isEncodable​(java.lang.Object toCheck)
      • objectsAreIdentical

        public static boolean objectsAreIdentical​(java.lang.Object o1,
                                                  java.lang.Object o2)
      • listsAreIdentical

        public static boolean listsAreIdentical​(java.util.List list1,
                                                java.util.List list2)
      • mapsAreIdentical

        public static boolean mapsAreIdentical​(java.util.Map map1,
                                               java.util.Map map2)
      • cloneMap

        public static java.util.Map cloneMap​(java.util.Map map)
      • cloneList

        public static java.util.List cloneList​(java.util.List list)
      • clone

        public static java.lang.Object clone​(java.lang.Object obj)
      • encodeToXML

        public static java.lang.StringBuffer encodeToXML​(java.util.Map map,
                                                         boolean simple)
      • encodeToJSONGeneric

        private static java.lang.Object encodeToJSONGeneric​(java.lang.Object obj)
      • encodeToJSONArray

        public static JSONArray encodeToJSONArray​(java.util.List b_list)
      • encodeToJSONObject

        public static JSONObject encodeToJSONObject​(java.util.Map<java.lang.Object,​java.lang.Object> b_map)
      • encodeToJSON

        public static java.lang.String encodeToJSON​(java.util.Map b_map)
      • intToBytes

        private int intToBytes​(int i)
        writes to int_buffer and returns start position in buffer (always runs to end of buffer)
        Parameters:
        i -
        Returns:
      • main

        public static void main​(java.lang.String[] args)