當前位置: 首頁>>代碼示例>>Java>>正文


Java Kryo.writeClass方法代碼示例

本文整理匯總了Java中com.esotericsoftware.kryo.Kryo.writeClass方法的典型用法代碼示例。如果您正苦於以下問題:Java Kryo.writeClass方法的具體用法?Java Kryo.writeClass怎麽用?Java Kryo.writeClass使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.esotericsoftware.kryo.Kryo的用法示例。


在下文中一共展示了Kryo.writeClass方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: write

import com.esotericsoftware.kryo.Kryo; //導入方法依賴的package包/類
@Override
public void write(Kryo kryo, Output output, BSpline bSpline) {
    Class<? extends Vector> vectorType = null;
    if (bSpline.controlPoints != null && bSpline.controlPoints.length > 0)
        vectorType = bSpline.controlPoints[0].getClass();
    else if (bSpline.knots != null && bSpline.knots.size > 0)
        vectorType = ((Vector)bSpline.knots.first()).getClass();
    kryo.writeClass(output, vectorType);
    output.writeInt(bSpline.controlPoints != null ? bSpline.controlPoints.length : -1); // -1 for null array
    if (bSpline.controlPoints != null){
        for (int i = 0; i < bSpline.controlPoints.length; i++) {
            kryo.writeObjectOrNull(output, bSpline.controlPoints[i], vectorType);
        }
    }
    kryo.writeObjectOrNull(output, bSpline.knots, Array.class);
    output.writeInt(bSpline.degree, true);
    output.writeBoolean(bSpline.continuous);
    output.writeInt(bSpline.spanCount, true);
}
 
開發者ID:CypherCove,項目名稱:gdx-cclibs,代碼行數:20,代碼來源:BSplineSerializer.java

示例2: write

import com.esotericsoftware.kryo.Kryo; //導入方法依賴的package包/類
@Override
public final void write (Kryo kryo, Output output) {
    if (currentReadWriteVersion == -1)
        throw new RuntimeException("currentReadWriteVersion must be set before writing.");
    if (currentReadWriteVersion < 0 || minimumReadVersion < 0)
        throw new RuntimeException("currentReadWriteVersion and minimumReadVersion must not be less than 0.");
    if (currentReadWriteVersion < minimumReadVersion)
        throw new RuntimeException("currentReadWriteVersion cannot be lower than minimumReadVersion");

    Class type = data == null ? null : data.getClass();
    pushHeader(kryo, this);
    output.writeInt(GRAPH_HEADER_VERSION, true);
    kryo.writeClass(output, type);
    output.writeInt(Version.MAJOR, true);
    output.writeInt(Version.MINOR, true);
    output.writeInt(Version.REVISION, true);
    output.writeInt(currentReadWriteVersion, true);
    output.writeInt(minimumReadVersion, true);
    output.writeString(minimumReadVersionString);
    output.writeBoolean(useCompactColor);
    output.writeBoolean(includePixmapDrawingParams);
    writeExtra(kryo, output);
    if (data != null)
        kryo.writeObject(output, data);
    popHeader(kryo);
}
 
開發者ID:CypherCove,項目名稱:gdx-cclibs,代碼行數:27,代碼來源:GraphHeader.java

示例3: write

import com.esotericsoftware.kryo.Kryo; //導入方法依賴的package包/類
@Override
public void write(Kryo kryo, Output output, CatmullRomSpline catmullRomSpline) {
    Class<? extends Vector> vectorType = null;
    if (catmullRomSpline.controlPoints != null && catmullRomSpline.controlPoints.length > 0)
        vectorType = catmullRomSpline.controlPoints[0].getClass();
    kryo.writeClass(output, vectorType);
    output.writeInt(catmullRomSpline.controlPoints != null ? catmullRomSpline.controlPoints.length : -1); // -1 for null array
    if (catmullRomSpline.controlPoints != null){
        for (int i = 0; i < catmullRomSpline.controlPoints.length; i++) {
            kryo.writeObjectOrNull(output, catmullRomSpline.controlPoints[i], vectorType);
        }
    }
    output.writeBoolean(catmullRomSpline.continuous);
    output.writeInt(catmullRomSpline.spanCount, true);
}
 
開發者ID:CypherCove,項目名稱:gdx-cclibs,代碼行數:16,代碼來源:CatmullRomSplineSerializer.java

示例4: write

import com.esotericsoftware.kryo.Kryo; //導入方法依賴的package包/類
public void write (Kryo kryo, Output output, ArrayMap map) {
    output.writeBoolean(map.ordered);
    int length = map.size;
    output.writeVarInt(length, true);
    kryo.writeClass(output, map.keys.getClass().getComponentType());
    kryo.writeClass(output, map.values.getClass().getComponentType());

    Serializer keySerializer = null;
    if (keyGenericType != null) {
        if (keySerializer == null) keySerializer = kryo.getSerializer(keyGenericType);
        keyGenericType = null;
    }
    Serializer valueSerializer = null;
    if (valueGenericType != null) {
        if (valueSerializer == null) valueSerializer = kryo.getSerializer(valueGenericType);
        valueGenericType = null;
    }

    for (Iterator iter = map.iterator(); iter.hasNext();) {
        ObjectMap.Entry entry = (ObjectMap.Entry)iter.next();
        if (keySerializer != null) {
            kryo.writeObject(output, entry.key, keySerializer);
        } else
            kryo.writeClassAndObject(output, entry.key);
        if (valueSerializer != null) {
            kryo.writeObjectOrNull(output, entry.value, valueSerializer);
        } else
            kryo.writeClassAndObject(output, entry.value);
    }
}
 
開發者ID:CypherCove,項目名稱:gdx-cclibs,代碼行數:31,代碼來源:ArrayMapSerializer.java


注:本文中的com.esotericsoftware.kryo.Kryo.writeClass方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。