当前位置: 首页>>代码示例>>Java>>正文


Java Registration.getType方法代码示例

本文整理汇总了Java中com.esotericsoftware.kryo.Registration.getType方法的典型用法代码示例。如果您正苦于以下问题:Java Registration.getType方法的具体用法?Java Registration.getType怎么用?Java Registration.getType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.esotericsoftware.kryo.Registration的用法示例。


在下文中一共展示了Registration.getType方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: read

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
@Override
public Queue read(Kryo kryo, Input input, Class<Queue> type) {
    int length = input.readVarInt(true);
    Registration registration = kryo.readClass(input);
    Class cls = registration == null ? Object.class : registration.getType();
    Queue queue = new Queue(length, cls);
    kryo.reference(queue);
    Class elementClass = null;
    Serializer serializer = null;
    if (genericType != null) {
        elementClass = genericType;
        serializer = kryo.getSerializer(genericType);
        genericType = null;
    }
    if (serializer != null) {
        for (int i = 0; i < length; i++)
            queue.addLast(kryo.readObjectOrNull(input, elementClass, serializer));
    } else {
        for (int i = 0; i < length; i++)
            queue.addLast(kryo.readClassAndObject(input));
    }
    return queue;
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:24,代码来源:QueueSerializer.java

示例2: read

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
@Override
public Skybox read(Kryo kryo, Input input, Class<Skybox> type) {
  Registration skyboxClass = kryo.readClass(input);
  if (skyboxClass.getType() == CubemapSkybox.class) {
    CubemapSkybox skybox = new CubemapSkybox(null);
    skybox.rotationDirection.set(kryo.readObject(input, Vector3.class));
    skybox.rotationSpeed = input.readFloat();
    skybox.setSkyboxAsset(kryo.readObjectOrNull(input, CubemapAsset.class));
    return skybox;
  } else {
    DayNightSkybox dayNightSkybox = new DayNightSkybox();
    dayNightSkybox.setMoonAsset(kryo.readObjectOrNull(input, TextureAsset.class));
    dayNightSkybox.setSunAsset(kryo.readObjectOrNull(input, TextureAsset.class));
    dayNightSkybox.setSkyMapAsset(kryo.readObjectOrNull(input, TextureAsset.class));
    dayNightSkybox.setStarsAlphaAsset(kryo.readObjectOrNull(input, TextureAsset.class));
    dayNightSkybox.setSateliteLightingAsset(kryo.readObjectOrNull(input, TextureAsset.class));
   // throw new GdxRuntimeException("Implement!");
    return dayNightSkybox;
  }
}
 
开发者ID:macbury,项目名称:ForgE,代码行数:21,代码来源:SkyboxSerializer.java

示例3: read

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
@Override
public NodeDocument read(Kryo kryo, Input input, Class<NodeDocument> nodeDocumentClass) {
    long created = input.readLong(true);

    int mapSize = input.readInt(true);
    NodeDocument doc = new NodeDocument(documentStore, created);
    for (int i = 0; i < mapSize; i++) {
        String key = input.readString();
        Registration reg = kryo.readClass(input);
        Object value;
        if (reg.getType() == NavigableMap.class) {
            value = new RevisionedMapSerializer(kryo).read(kryo, input, Map.class);
        } else {
            value = kryo.readObject(input, reg.getType());
        }
        doc.put(key, value);
    }

    //Seal the doc once all changes done
    doc.seal();

    return doc;
}
 
开发者ID:denismo,项目名称:jackrabbit-dynamodb-store,代码行数:24,代码来源:Serializers.java

示例4: register

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
/**
 * Register {@code type} and {@code serializer} to {@code kryo} instance.
 *
 * @param kryo       Kryo instance
 * @param type       type to register
 * @param serializer Specific serializer to register or null to use default.
 * @param id         type registration id to use
 */
private void register(Kryo kryo, Class<?> type, Serializer<?> serializer, int id) {
    Registration existing = kryo.getRegistration(id);
    if (existing != null) {
        if (existing.getType() != type) {
            log.error("{}: Failed to register {} as {}, {} was already registered.",
                      friendlyName(), type, id, existing.getType());

            throw new IllegalStateException(String.format(
                      "Failed to register %s as %s, %s was already registered.",
                      type, id, existing.getType()));
        }
        // falling through to register call for now.
        // Consider skipping, if there's reasonable
        // way to compare serializer equivalence.
    }
    Registration r;
    if (serializer == null) {
        r = kryo.register(type, id);
    } else {
        r = kryo.register(type, serializer, id);
    }
    if (r.getId() != id) {
        log.warn("{}: {} already registed as {}. Skipping {}.",
                 friendlyName(), r.getType(), r.getId(), id);
    }
    log.trace("{} registered as {}", r.getType(), r.getId());
}
 
开发者ID:shlee89,项目名称:athena,代码行数:36,代码来源:KryoNamespace.java

示例5: read

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
public Class read (Kryo kryo, Input input, Class<Class> type) {
	Registration registration = kryo.readClass(input);
	int isPrimitive = input.read();
	Class typ = registration != null ? registration.getType() : null;
	if (typ == null || !typ.isPrimitive()) return typ;
	return (isPrimitive == 1) ? typ : getWrapperClass(typ);
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:8,代码来源:DefaultSerializers.java

示例6: read

import com.esotericsoftware.kryo.Registration; //导入方法依赖的package包/类
public Class read (Kryo kryo, Input input, Class<Class> type) {
	Registration registration = kryo.readClass(input);
	int isPrimitive = input.read();
	Class typ = registration.getType();
	if (!typ.isPrimitive()) return typ;
	return (isPrimitive == 1) ? typ : getWrapperClass(typ);
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:8,代码来源:DefaultSerializers.java


注:本文中的com.esotericsoftware.kryo.Registration.getType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。