Eva
Java粉絲募集中
  • 簡介
  • 我們的優勢
  • 最新消息
  • 下載與使用
  • 範例與說明
    • Eva Objects >
      • Bean類別定義
      • Entity型別定義
      • Struct型別定義
      • 建立Entity空白物件
      • 建立Entity修改物件
      • 建立Entity條件物件
      • 建立Struct值物件
    • Eva_ORM >
      • ORM程式主體
      • 使用條件物件執行操作
      • 執行更複雜條件的操作.
      • 分頁取回資料
      • 操作JDBC的參數
      • Array Property的操作
      • Collection Property的操作
      • 更複雜的Collection Property
      • 指定表格名稱
      • 新增資料庫Dialect
    • Eva_IOC >
      • IOC程式主體
      • AOP應用
    • Eva_Struct >
      • Struct範例
      • Bit Strcut範例
      • 指標範例
      • 於Eva_ORM中使用
    • Eva_Sort >
      • 依指定Properties排序
      • 部份排序
      • 優先排序部份
    • Eva_Cache >
      • hashing-based cache
      • 非hashing-based cache
  • API列表
  • 技術支援
    • 協助開發
  • 相關書籍

建立Struct值物件.

最簡單地建立一個Struct物件的方法就如同下面的例子: 先去取得一個 StructMapper 物件, 再呼叫它的 ptr 方法去得到指向某個 位元陣列 的 Struct 物件; 而 BitStruct 物件的建立也是相同, 先去取得一個 BitStructMapper 物件, 再呼叫它的 ptr 方法去得到指向某個 位元陣列 的 BitStruct 物件;
package struct;

import java.nio.ByteBuffer;

import com.logntw.eva.bitstruct.BitStructMapper;
import com.logntw.eva.bitstruct.defo.DefoBitStructMappers;
import com.logntw.eva.struct.StructMapper;
import com.logntw.eva.struct.StructUtil;
import com.logntw.eva.struct.defo.DefoStructMappers;

public class NewStruct
{
  public void newStruct() throws Exception
  {    
    StructMapper<D> mapper = DefoStructMappers.getMapper(D.class);
    ByteBuffer buf = ByteBuffer.allocate(StructUtil.getTotalBytes(D.class));
    D d = mapper.ptr(buf);
    d.setF2(1);
  }
  
  public void newBitStruct() throws Exception
  {          
    BitStructMapper<E> mapper = DefoBitStructMappers.getMapper(E.class);
    ByteBuffer buf = ByteBuffer.allocate(StructUtil.getTotalBytes(E.class));
    E e = mapper.ptr(buf);
    e.setW((byte)1);
  }
}
www.facebook.com/java.tw