EMMA Coverage Report (generated Sat Nov 12 08:39:53 KST 2005)
[all classes][org.apache.mina.examples.sumup.codec]

COVERAGE SUMMARY FOR SOURCE FILE [ResultMessageDecoder.java]

nameclass, %method, %block, %line, %
ResultMessageDecoder.java0%   (0/1)0%   (0/2)0%   (0/57)0%   (0/19)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ResultMessageDecoder0%   (0/1)0%   (0/2)0%   (0/57)0%   (0/19)
ResultMessageDecoder (): void 0%   (0/1)0%   (0/4)0%   (0/2)
decodeBody (ProtocolSession, ByteBuffer): AbstractMessage 0%   (0/1)0%   (0/53)0%   (0/17)

1/*
2 *   @(#) $Id: ResultMessageDecoder.java 332218 2005-11-10 03:52:42Z trustin $
3 *
4 *   Copyright 2004 The Apache Software Foundation
5 *
6 *   Licensed under the Apache License, Version 2.0 (the "License");
7 *   you may not use this file except in compliance with the License.
8 *   You may obtain a copy of the License at
9 *
10 *       http://www.apache.org/licenses/LICENSE-2.0
11 *
12 *   Unless required by applicable law or agreed to in writing, software
13 *   distributed under the License is distributed on an "AS IS" BASIS,
14 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 *   See the License for the specific language governing permissions and
16 *   limitations under the License.
17 *
18 */
19package org.apache.mina.examples.sumup.codec;
20 
21import org.apache.mina.common.ByteBuffer;
22import org.apache.mina.examples.sumup.message.AbstractMessage;
23import org.apache.mina.examples.sumup.message.ResultMessage;
24import org.apache.mina.protocol.ProtocolSession;
25import org.apache.mina.protocol.codec.MessageDecoder;
26 
27/**
28 * A {@link MessageDecoder} that decodes {@link ResultMessage}.
29 *
30 * @author The Apache Directory Project
31 * @version $Rev: 332218 $, $Date: 2005-11-10 12:52:42 +0900 $
32 */
33public class ResultMessageDecoder extends AbstractMessageDecoder
34{
35    private int code;
36    private boolean readCode;
37    
38    public ResultMessageDecoder()
39    {
40        super( Constants.RESULT );
41    }
42 
43    protected AbstractMessage decodeBody( ProtocolSession session, ByteBuffer in )
44    {
45        if( !readCode )
46        {
47            if( in.remaining() < Constants.RESULT_CODE_LEN )
48            {
49                return null; // Need more data.
50            }
51            
52            code = in.getShort();
53            readCode = true;
54        }
55        
56        if( code == Constants.RESULT_OK )
57        {
58            if( in.remaining() < Constants.RESULT_VALUE_LEN )
59            {
60                return null;
61            }
62            
63            ResultMessage m = new ResultMessage();
64            m.setOk( true );
65            m.setValue( in.getInt() );
66            readCode = false;
67            return m;
68        }
69        else
70        {
71            ResultMessage m = new ResultMessage();
72            m.setOk( false );
73            readCode = false;
74            return m;
75        }
76    }
77}

[all classes][org.apache.mina.examples.sumup.codec]
EMMA 2.0.4217 (C) Vladimir Roubtsov