| package com.dy.common.mw.channel.tcp; | 
|   | 
| public class PrefixedDataAvailableStatus { | 
|      | 
|     public final static Integer status_rubbish = 0 ;//垃圾数据 | 
|     public final static Integer status_break = 1 ;//断包 | 
|     public final static Integer status_adjoin = 2 ;//粘包 | 
|     public final static Integer status_complete = 3 ;//不断不粘 | 
|      | 
|     private Integer status ; | 
|     private Integer dataLen ; | 
|     public String protocolName; | 
|     public Short protocolVersion; | 
|      | 
|     public PrefixedDataAvailableStatus(){ | 
|         status = null ; | 
|         dataLen = null ; | 
|     } | 
|      | 
|     /** | 
|      * 垃圾数据 | 
|      * @param dataLen 数据长度 | 
|      * @return 状态 | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     public PrefixedDataAvailableStatus rubbish(Integer dataLen){ | 
|         this.status = status_rubbish ; | 
|         this.dataLen = dataLen ; | 
|         return this ; | 
|     } | 
|      | 
|     /** | 
|      * 发生断包 | 
|      * @return 状态 | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     public PrefixedDataAvailableStatus breaked(){ | 
|         this.status = status_break ; | 
|         this.dataLen = null ; | 
|         return this ; | 
|     } | 
|      | 
|     /** | 
|      * 发生粘包 | 
|      * @param dataLen 数据长度 | 
|      * @return 状态 | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     public PrefixedDataAvailableStatus adjoined(Integer dataLen, String protocolName, Short protocolVersion){ | 
|         this.status = status_adjoin ; | 
|         this.dataLen = dataLen ; | 
|         this.protocolName = protocolName ; | 
|         this.protocolVersion = protocolVersion ; | 
|         return this ; | 
|     } | 
|      | 
|     /** | 
|      * 不断包不粘包,数据正好收全 | 
|      * @param dataLen 数据长度 | 
|      * @return 状态 | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     public PrefixedDataAvailableStatus completed(Integer dataLen, String protocolName, Short protocolVersion){ | 
|         this.status = status_complete ; | 
|         this.dataLen = dataLen ; | 
|         this.protocolName = protocolName ; | 
|         this.protocolVersion = protocolVersion ; | 
|         return this ; | 
|     } | 
|      | 
|     /** | 
|      * 是否垃圾数据 | 
|      * @return 状态 | 
|      */ | 
|     public boolean isRubbish(){ | 
|         return this.status.intValue() == status_rubbish.intValue(); | 
|     } | 
|     /** | 
|      * 是否断包 | 
|      * @return 状态 | 
|      */ | 
|     public boolean isBreaked(){ | 
|         return this.status.intValue() == status_break.intValue(); | 
|     } | 
|      | 
|      | 
|     /** | 
|      * 是否粘包 | 
|      * @return 是否粘包 | 
|      */ | 
|     public boolean isAdjoined(){ | 
|         return this.status.intValue() == status_adjoin.intValue(); | 
|     } | 
|      | 
|     /** | 
|      * 是否不断不粘 | 
|      * @return 是否不断不粘 | 
|      */ | 
|     public boolean isCompleted(){ | 
|         return this.status.intValue() == status_complete.intValue(); | 
|     } | 
|      | 
|     /** | 
|      * 返回数据长度 | 
|      * @return 数据长度 | 
|      */ | 
|     public Integer getDataLen(){ | 
|         return this.dataLen ; | 
|     } | 
|      | 
| } |