SGIPAbstractStruct.java
上传用户:leafage163
上传日期:2022-08-08
资源大小:15k
文件大小:1k
源码类别:

Java编程

开发平台:

Java

  1. package com.zzxy.shortmessage.SGIP;
  2. import java.nio.ByteBuffer;
  3. import java.nio.ByteOrder;
  4. public abstract class SGIPAbstractStruct {
  5.     public static final int    STRUCT_MAX_SIZE = 1024 * 4; // 4K
  6. public Head               head            = null;
  7. public static final String charset         = "GB2312";
  8. public final ByteOrder byteOrder =ByteOrder.BIG_ENDIAN;
  9. public final ByteBuffer getAllBuffer() throws Exception {
  10.   ByteBuffer buffer = ByteBuffer.allocate(this.getHead().getBuffer().capacity()
  11.         + this.getBuffer().capacity());
  12.   buffer.order(byteOrder);
  13.   buffer.put(this.getHead().getBuffer());
  14.   buffer.put(this.getBuffer());
  15.   buffer.flip();
  16.   
  17.   return buffer;
  18. }
  19. public final void setAllBuffer(ByteBuffer buffer) throws Exception {
  20.   buffer.order(byteOrder);
  21.   this.setHead(new Head());
  22.   this.getHead().setBuffer(buffer);
  23.   this.setBuffer(buffer);
  24. }
  25. public final void setHead(Head head) {
  26.   this.head = head;
  27. }
  28. public final Head getHead() {
  29.   return head;
  30. }
  31. public abstract ByteBuffer getBuffer()throws Exception;
  32. public abstract void setBuffer(ByteBuffer buffer) throws Exception;
  33.   }