当前位置: 首页>>代码示例>>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;未经允许,请勿转载。