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


Java Serializer类代码示例

本文整理汇总了Java中org.red5.io.object.Serializer的典型用法代码示例。如果您正苦于以下问题:Java Serializer类的具体用法?Java Serializer怎么用?Java Serializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: writeArray

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeArray(Collection<?> array) {
	writeAMF3();
	buf.put(AMF3.TYPE_ARRAY);
	if (hasReference(array)) {
		putInteger(getReferenceId(array) << 1);
		return;
	}
	storeReference(array);
	amf3_mode += 1;
	int count = array.size();
	putInteger(count << 1 | 1);
	putString("");
	for (Object item : array) {
		Serializer.serialize(this, item);
	}
	amf3_mode -= 1;
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:19,代码来源:Output.java

示例2: writeMap

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeMap(Collection<?> array) {
	writeAMF3();
	buf.put(AMF3.TYPE_ARRAY);
	if (hasReference(array)) {
		putInteger(getReferenceId(array) << 1);
		return;
	}
	storeReference(array);
	// TODO: we could optimize this by storing the first integer
	//       keys after the key-value pairs
	amf3_mode += 1;
	putInteger(1);
	int idx = 0;
	for (Object item : array) {
		if (item != null) {
			putString(String.valueOf(idx));
			Serializer.serialize(this, item);
		}
		idx++;
	}
	amf3_mode -= 1;
	putString("");
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:25,代码来源:Output.java

示例3: writeObject

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public void writeObject(Map<Object, Object> map) {
	log.debug("writeObject: {}", map);
	writeAMF3();
	buf.put(AMF3.TYPE_OBJECT);
	if (hasReference(map)) {
		putInteger(getReferenceId(map) << 1);
		return;
	}
	storeReference(map);
	// we have an inline class that is not a reference, store the properties using key/value pairs
	int type = AMF3.TYPE_OBJECT_VALUE << 2 | 1 << 1 | 1;
	putInteger(type);
	// no classname
	putString("");
	// store key/value pairs
	amf3_mode += 1;
	for (Map.Entry<Object, Object> entry : map.entrySet()) {
		putString(entry.getKey().toString());
		Serializer.serialize(this, entry.getValue());
	}
	amf3_mode -= 1;
	// end of object marker
	putString("");
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:27,代码来源:Output.java

示例4: writeVectorObject

import org.red5.io.object.Serializer; //导入依赖的package包/类
/**
 * Write a Vector&lt;Object&gt;.
 * 
 * @param vector vector
 */
@Override
public void writeVectorObject(Vector<Object> vector) {
	log.debug("writeVectorObject: {}", vector);
	buf.put(AMF3.TYPE_VECTOR_OBJECT);
	if (hasReference(vector)) {
		putInteger(getReferenceId(vector) << 1);
		return;
	}
	storeReference(vector);
	putInteger(vector.size() << 1 | 1);
	putInteger(0);
	buf.put((byte) 0x01);
	for (Object v : vector) {
		Serializer.serialize(this, v);
	}
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:22,代码来源:Output.java

示例5: writeArray

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeArray(Object[] array) {
	log.debug("writeArray - array: {}", array);
	if (array != null) {
		if (checkWriteReference(array)) {
			return;
		}
		storeReference(array);
		buf.put(AMF.TYPE_ARRAY);
		buf.putInt(array.length);
		for (Object item : array) {
			Serializer.serialize(this, item);
		}
	} else {
		writeNull();
	}
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:18,代码来源:Output.java

示例6: writeMap

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeMap(Collection<?> array) {
	if (checkWriteReference(array)) {
		return;
	}
	storeReference(array);
	buf.put(AMF.TYPE_MIXED_ARRAY);
	buf.putInt(array.size() + 1);
	int idx = 0;
	for (Object item : array) {
		if (item != null) {
			putString(String.valueOf(idx++));
			Serializer.serialize(this, item);
		} else {
			idx++;
		}
	}
	putString("length");
	Serializer.serialize(this, array.size() + 1);
	buf.put((byte) 0x00);
	buf.put((byte) 0x00);
	buf.put(AMF.TYPE_END_OF_OBJECT);
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:24,代码来源:Output.java

示例7: writeRecordSet

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeRecordSet(RecordSet recordset) {
	if (checkWriteReference(recordset)) {
		return;
	}
	storeReference(recordset);
	// Write out start of object marker
	buf.put(AMF.TYPE_CLASS_OBJECT);
	putString("RecordSet");
	// Serialize
	Map<String, Object> info = recordset.serialize();
	// Write out serverInfo key
	putString("serverInfo");
	// Serialize
	Serializer.serialize(this, info);
	// Write out end of object marker
	buf.put((byte) 0x00);
	buf.put((byte) 0x00);
	buf.put(AMF.TYPE_END_OF_OBJECT);
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:21,代码来源:Output.java

示例8: serializeField

import org.red5.io.object.Serializer; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected boolean serializeField(Class<?> objectClass, String keyName, Field field, Method getter) {
	// to prevent, NullPointerExceptions, get the element first and check if it's null
	Element element = getSerializeCache().get(objectClass);
	Map<String, Boolean> serializeMap = (element == null ? null : (Map<String, Boolean>) element.getObjectValue());
	if (serializeMap == null) {
		serializeMap = new HashMap<String, Boolean>();
		getSerializeCache().put(new Element(objectClass, serializeMap));
	}
	boolean serialize;
	if (getSerializeCache().isKeyInCache(keyName)) {
		serialize = serializeMap.get(keyName);
	} else {
		serialize = Serializer.serializeField(keyName, field, getter);
		serializeMap.put(keyName, serialize);
	}
	return serialize;
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:19,代码来源:Output.java

示例9: writeObject

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
public void writeObject(Map<Object, Object> map) {
	if (checkWriteReference(map)) {
		return;
	}
	storeReference(map);
	buf.put(AMF.TYPE_OBJECT);
	boolean isBeanMap = (map instanceof BeanMap);
	for (Map.Entry<Object, Object> entry : map.entrySet()) {
		if (isBeanMap && "class".equals(entry.getKey())) {
			continue;
		}
		putString(entry.getKey().toString());
		Serializer.serialize(this, entry.getValue());
	}
	buf.put((byte) 0x00);
	buf.put((byte) 0x00);
	buf.put(AMF.TYPE_END_OF_OBJECT);
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:20,代码来源:Output.java

示例10: testByteArray

import org.red5.io.object.Serializer; //导入依赖的package包/类
@Test
public void testByteArray() {
	log.debug("Testing ByteArray");
	// just some ones and such
	ByteArray baIn = new ByteArray();
	baIn.writeBytes(new byte[] { (byte) 0, (byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42,
			(byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42, (byte) 0x1, (byte) 0x42, (byte) 0x99 });
	Serializer.serialize(out, baIn);
	dumpOutput();
	ByteArray baOut = Deserializer.deserialize(in, ByteArray.class);
	assertNotNull(baOut);
	assertEquals(baIn.length(), baOut.length());
	for (int i = 0; i < baOut.length(); i++) {
		System.err.println("Byte: " + baOut.readByte());
	}
	resetOutput();
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:18,代码来源:AMF3IOTest.java

示例11: testVectorRoundTrip

import org.red5.io.object.Serializer; //导入依赖的package包/类
@Test
public void testVectorRoundTrip() {
	log.debug("Testing Vector on a round trip");
	Vector<String> vIn = new Vector<String>();
	vIn.add("This is my vector and her name is Sally");
	Serializer.serialize(out, vIn);
	dumpOutput();
	// test fails without enforcing amf3 here
	((org.red5.io.amf3.Input) in).enforceAMF3();
	Vector<String> vOut = Deserializer.deserialize(in, Vector.class);
	assertNotNull(vOut);
	assertEquals(vIn.size(), vOut.size());
	for (int i = 0; i < vOut.size(); i++) {
		System.err.println("Element: " + vOut.elementAt(i));
	}
	resetOutput();
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:18,代码来源:AMF3IOTest.java

示例12: testList

import org.red5.io.object.Serializer; //导入依赖的package包/类
@Test
public void testList() {
	log.debug("Testing list");
	List<Comparable<?>> listIn = new LinkedList<Comparable<?>>();
	listIn.add(null);
	listIn.add(Boolean.FALSE);
	listIn.add(Boolean.TRUE);
	listIn.add(Integer.valueOf(1));
	listIn.add("This is a test string");
	listIn.add(new Date());
	Serializer.serialize(out, listIn);
	dumpOutput();
	List<?> listOut = Deserializer.deserialize(in, List.class);
	assertNotNull(listOut);
	assertEquals(listIn.size(), listOut.size());
	for (int i = 0; i < listIn.size(); i++) {
		assertEquals(listOut.get(i), listIn.get(i));
	}
	resetOutput();
}
 
开发者ID:Kyunghwa-Yoo,项目名称:StitchRTSP,代码行数:21,代码来源:AbstractIOTest.java

示例13: serialize

import org.red5.io.object.Serializer; //导入依赖的package包/类
public void serialize(Output output) {
    output.putString("level");
    output.writeString(getLevel());
    output.putString("code");
    output.writeString(getCode());
    output.putString("description");
    output.writeString(getDescription());
    if (application != null) {
        output.putString("application");
        Serializer.serialize(output, application);
    }
    if (additional != null) {
        // Add additional parameters
        for (Map.Entry<String, Object> entry : additional.entrySet()) {
            output.putString(entry.getKey());
            Serializer.serialize(output, entry.getValue());
        }
    }
}
 
开发者ID:Red5,项目名称:red5-server-common,代码行数:20,代码来源:StatusObject.java

示例14: writeArray

import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public void writeArray(Collection<?> array) {
    writeAMF3();
    buf.put(AMF3.TYPE_ARRAY);
    if (hasReference(array)) {
        putInteger(getReferenceId(array) << 1);
        return;
    }
    storeReference(array);
    amf3_mode += 1;
    int count = array.size();
    putInteger(count << 1 | 1);
    putString("");
    for (Object item : array) {
        Serializer.serialize(this, item);
    }
    amf3_mode -= 1;
}
 
开发者ID:Red5,项目名称:red5-io,代码行数:20,代码来源:Output.java

示例15: writePrimitiveArrayFallback

import org.red5.io.object.Serializer; //导入依赖的package包/类
/**
 * Use the general ARRAY type, writing the primitive array as an array of objects (the boxed primitives) instead.
 */
private void writePrimitiveArrayFallback(Object array) {
    writeAMF3();
    buf.put(AMF3.TYPE_ARRAY);
    
    if (hasReference(array)) {
        putInteger(getReferenceId(array) << 1);
        return;
    }
    storeReference(array);
    
    amf3_mode += 1;
    int count = Array.getLength(array);
    putInteger(count << 1 | 1);
    putString("");
    for (int i = 0; i < count; i++) {
        Serializer.serialize(this, Array.get(array, i));
    }
    amf3_mode -= 1;
}
 
开发者ID:Red5,项目名称:red5-io,代码行数:23,代码来源:Output.java


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