@Override public boolean acceptInboundMessage(Object msg) throws Exception { // No need to match last and full types because they are subset of first and middle types. if (!super.acceptInboundMessage(msg)) { return false; } @SuppressWarnings("unchecked") I in = (I) msg; return (isContentMessage(in) || isStartMessage(in)) && !isAggregated(in); }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { try { // release current message if it is not null as it may be a left-over super.channelInactive(ctx); } finally { releaseCurrentMessage(); } }
@Override public Float getFloat(K name) { V v = get(name); try { return v != null ? valueConverter.convertToFloat(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public void handlerAdded(ChannelHandlerContext ctx) throws Exception { try { decoder.handlerAdded(ctx); } finally { encoder.handlerAdded(ctx); } }
@Override public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { try { super.handlerRemoved(ctx); } finally { // release current message if it is not null as it may be a left-over as there is not much more we can do in // this case releaseCurrentMessage(); } }
@Override public Long getTimeMillis(K name) { V v = get(name); try { return v != null ? valueConverter.convertToTimeMillis(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Byte getByte(K name) { V v = get(name); try { return v != null ? valueConverter.convertToByte(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Character getChar(K name) { V v = get(name); try { return v != null ? valueConverter.convertToChar(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Short getShort(K name) { V v = get(name); try { return v != null ? valueConverter.convertToShort(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Integer getInt(K name) { V v = get(name); try { return v != null ? valueConverter.convertToInt(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Double getDouble(K name) { V v = get(name); try { return v != null ? valueConverter.convertToDouble(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Byte getByteAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToByte(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Integer getIntAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToInt(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Long getTimeMillisAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToTimeMillis(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Character getCharAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToChar(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Short getShortAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToShort(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public Double getDoubleAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToDouble(v) : null; } catch (RuntimeException ignore) { return null; } }
@Override public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { try { decoder.handlerRemoved(ctx); } finally { encoder.handlerRemoved(ctx); } }
@Override public Float getFloatAndRemove(K name) { V v = getAndRemove(name); try { return v != null ? valueConverter.convertToFloat(v) : null; } catch (RuntimeException ignore) { return null; } }