Examples of ValueWriter


Examples of com.rabbitmq.client.impl.ValueWriter

    public byte [] marshal(Map<String, Object> table)
        throws IOException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(table);
        writer.flush();
       
        assertEquals(Frame.tableSize(table) + 4, buffer.size());
        return buffer.toByteArray();
View Full Code Here

Examples of com.rabbitmq.client.impl.ValueWriter

     */
    public Map<String, Object> mapCall(Map<String, Object> message)
        throws IOException, ShutdownSignalException, TimeoutException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(message);
        writer.flush();
        byte[] reply = primitiveCall(buffer.toByteArray());
        MethodArgumentReader reader =
            new MethodArgumentReader(new ValueReader(new DataInputStream(new ByteArrayInputStream(reply))));
View Full Code Here

Examples of com.rabbitmq.client.impl.ValueWriter

    public static byte[] encode(Map<String, Object> reply)
        throws IOException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(reply);
        writer.flush();
        return buffer.toByteArray();
    }
View Full Code Here

Examples of com.rabbitmq.client.impl.ValueWriter

    public byte [] marshal(Map<String, Object> table)
        throws IOException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(table);
        writer.flush();
       
        assertEquals(Frame.tableSize(table) + 4, buffer.size());
        return buffer.toByteArray();
View Full Code Here

Examples of com.rabbitmq.client.impl.ValueWriter

    public static byte[] encode(Map<String, Object> reply)
        throws IOException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(reply);
        writer.flush();
        return buffer.toByteArray();
    }
View Full Code Here

Examples of com.rabbitmq.client.impl.ValueWriter

     */
    public Map<String, Object> mapCall(Map<String, Object> message)
        throws IOException, ShutdownSignalException, TimeoutException
    {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        MethodArgumentWriter writer = new MethodArgumentWriter(new ValueWriter(new DataOutputStream(buffer)));
        writer.writeTable(message);
        writer.flush();
        byte[] reply = primitiveCall(buffer.toByteArray());
        MethodArgumentReader reader =
            new MethodArgumentReader(new ValueReader(new DataInputStream(new ByteArrayInputStream(reply))));
View Full Code Here

Examples of org.apache.qpid.amqp_1_0.codec.ValueWriter

    private final Map<Class, ValueWriter> _cachedWriters = new HashMap<Class,ValueWriter>();

    public <V extends Object> ValueWriter<V> getValueWriter(V value, Map<Class, ValueWriter> localCache)
    {
        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();
        ValueWriter writer = null; // TODO localCache.get(clazz);
        if(writer == null || !writer.isComplete())
        {
            writer = getValueWriter(value);
            localCache.put(clazz, writer);
        }
        else
        {
            writer.setValue(value);
        }


        return writer;
    }
View Full Code Here

Examples of org.apache.qpid.amqp_1_0.codec.ValueWriter

    public <V extends Object> ValueWriter<V> getValueWriter(V value)
    {

        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();

        ValueWriter writer = null; // TODO _cachedWriters.get(clazz);
        if(writer == null || !writer.isComplete())
        {
            ValueWriter.Factory<V> factory = (ValueWriter.Factory<V>) (_writerMap.get(clazz));

            if(factory == null)
            {
                if(value instanceof List)
                {
                    factory = _writerMap.get(List.class);
                    _writerMap.put(value.getClass(), factory);
                    writer = factory.newInstance(this);
                    if(writer.isCacheable())
                    {
                        _cachedWriters.put(clazz, writer);
                    }
                    writer.setValue(value);

                }
                else if(value instanceof Map)
                {
                    factory = _writerMap.get(Map.class);
                    _writerMap.put(value.getClass(), factory);
                    writer = factory.newInstance(this);
                    if(writer.isCacheable())
                    {
                        _cachedWriters.put(clazz, writer);
                    }
                    writer.setValue(value);

                }
                else if(value.getClass().isArray())
                {
                    if(RestrictedType.class.isAssignableFrom(value.getClass().getComponentType()))
                    {
                        RestrictedType[] restrictedTypes = (RestrictedType[]) value;
                        Object[] newVals = (Object[]) Array.newInstance(restrictedTypes[0].getValue().getClass(),
                                                                        restrictedTypes.length);
                        for(int i = 0; i < restrictedTypes.length; i++)
                        {
                            newVals[i] = restrictedTypes[i].getValue();
                        }
                        return (ValueWriter<V>) getValueWriter(newVals);
                    }
                    // TODO primitive array types
                    factory = _writerMap.get(List.class);
                    writer = factory.newInstance(this);
                    writer.setValue(Arrays.asList((Object[])value));

                }
                else
                {
                    return null;
                }
            }
            else
            {
                writer = factory.newInstance(this);
                if(writer.isCacheable())
                {
                    _cachedWriters.put(clazz, writer);
                }
                writer.setValue(value);
            }
        }
        else
        {
            writer.setValue(value);
        }

        return writer;

    }
View Full Code Here

Examples of org.apache.qpid.amqp_1_0.codec.ValueWriter

        if(vals != null)
        {
            for(Object obj : vals)
            {
                ValueWriter writer = typeRegistry.getValueWriter(obj);

                int count;


                do
                {
                    count = writer.writeToBuffer(buf);
                    out.write(buf.array(), buf.arrayOffset(), count);
                    buf.clear();
                } while (!writer.isComplete());

            }
        }
        else
        {
            ValueWriter writer = typeRegistry.getValueWriter(null);

            int count;


            do
            {
                count = writer.writeToBuffer(buf);
                out.write(buf.array(), buf.arrayOffset(), count);
                buf.clear();
            } while (!writer.isComplete());

        }
        out.flush();
        out.close();
View Full Code Here

Examples of org.apache.qpid.amqp_1_0.codec.ValueWriter

    }


    public <V extends Object> ValueWriter<V> getValueWriter(V value)
    {
        ValueWriter writer;

        Class<? extends Object> clazz = value == null ? Void.TYPE : value.getClass();

        ValueWriter.Factory<V> factory = (ValueWriter.Factory<V>) (_writerMap.get(clazz));

        if(factory == null)
        {
            if(value instanceof List)
            {
                factory = _writerMap.get(List.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value instanceof Map)
            {
                factory = _writerMap.get(Map.class);
                _writerMap.put(value.getClass(), factory);
                writer = factory.newInstance(this);
                writer.setValue(value);

            }
            else if(value.getClass().isArray())
            {
                if(RestrictedType.class.isAssignableFrom(value.getClass().getComponentType()))
                {
                    RestrictedType[] restrictedTypes = (RestrictedType[]) value;
                    Object[] newVals = (Object[]) Array.newInstance(restrictedTypes[0].getValue().getClass(),
                                                                    restrictedTypes.length);
                    for(int i = 0; i < restrictedTypes.length; i++)
                    {
                        newVals[i] = restrictedTypes[i].getValue();
                    }
                    return (ValueWriter<V>) getValueWriter(newVals);
                }
                // TODO primitive array types
                factory = _writerMap.get(List.class);
                writer = factory.newInstance(this);
                writer.setValue(Arrays.asList((Object[])value));

            }
            else
            {
                return null;
            }
        }
        else
        {
            writer = factory.newInstance(this);
            writer.setValue(value);
        }


        return writer;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.