JSR-356 - adding missing base Encoders

This commit is contained in:
Joakim Erdfelt 2013-08-13 10:55:53 -07:00
parent fffdd6b2fa
commit 176c7d22e4
3 changed files with 96 additions and 2 deletions

View File

@ -0,0 +1,46 @@
//
// ========================================================================
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
//
package org.eclipse.jetty.websocket.jsr356.encoders;
import java.nio.ByteBuffer;
import javax.websocket.EncodeException;
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
public class ByteArrayEncoder implements Encoder.Binary<byte[]>
{
@Override
public void destroy()
{
/* do nothing */
}
@Override
public ByteBuffer encode(byte[] object) throws EncodeException
{
return ByteBuffer.wrap(object);
}
@Override
public void init(EndpointConfig config)
{
/* do nothing */
}
}

View File

@ -0,0 +1,46 @@
//
// ========================================================================
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
//
package org.eclipse.jetty.websocket.jsr356.encoders;
import java.nio.ByteBuffer;
import javax.websocket.EncodeException;
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
public class ByteBufferEncoder implements Encoder.Binary<ByteBuffer>
{
@Override
public void destroy()
{
/* do nothing */
}
@Override
public ByteBuffer encode(ByteBuffer object) throws EncodeException
{
return object;
}
@Override
public void init(EndpointConfig config)
{
/* do nothing */
}
}

View File

@ -18,6 +18,8 @@
package org.eclipse.jetty.websocket.jsr356.encoders;
import java.nio.ByteBuffer;
import org.eclipse.jetty.websocket.jsr356.MessageType;
import org.eclipse.jetty.websocket.jsr356.metadata.EncoderMetadataSet;
@ -53,8 +55,8 @@ public class PrimitiveEncoderMetadataSet extends EncoderMetadataSet
// BINARY based
msgType = MessageType.BINARY;
// FIXME register(ByteBuffer.class,ByteBufferEncoder.class,msgType,streamed);
// FIXME register(byte[].class,ByteArrayEncoder.class,msgType,streamed);
register(ByteBuffer.class,ByteBufferEncoder.class,msgType,streamed);
register(byte[].class,ByteArrayEncoder.class,msgType,streamed);
}
}