本文整理汇总了Java中org.red5.io.object.Serializer类的典型用法代码示例。如果您正苦于以下问题:Java Serializer类的具体用法?Java Serializer怎么用?Java Serializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Serializer类属于org.red5.io.object包,在下文中一共展示了Serializer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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<Object>.
*
* @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
示例16: writeMap
import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
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:Red5,项目名称:red5-io,代码行数:26,代码来源:Output.java
示例17: 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:Red5,项目名称:red5-io,代码行数:27,代码来源:Output.java
示例18: writeVectorObject
import org.red5.io.object.Serializer; //导入依赖的package包/类
/**
* Write a Vector<Object>.
*
* @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:Red5,项目名称:red5-io,代码行数:23,代码来源:Output.java
示例19: injectMetaData
import org.red5.io.object.Serializer; //导入依赖的package包/类
/**
* Injects metadata (Cue Points) into a tag
* @param cue
* @param writer
* @param tag
* @return ITag tag
*/
private ITag injectMetaData(Object cue, ITag tag) {
IMetaCue cp = (MetaCue<?, ?>) cue;
Output out = new Output(IoBuffer.allocate(1000));
Serializer ser = new Serializer();
ser.serialize(out,"onCuePoint");
ser.serialize(out,cp);
IoBuffer tmpBody = out.buf().flip();
int tmpBodySize = out.buf().limit();
int tmpPreviousTagSize = tag.getPreviousTagSize();
byte tmpDataType = IoConstants.TYPE_METADATA;
int tmpTimestamp = getTimeInMilliseconds(cp);
return new Tag(tmpDataType, tmpTimestamp, tmpBodySize, tmpBody, tmpPreviousTagSize);
}
开发者ID:cwpenhale,项目名称:red5-mobileconsole,代码行数:25,代码来源:MetaDataInjectionTest.java
示例20: writeArray
import org.red5.io.object.Serializer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public void writeArray(Object[] array) {
log.debug("writeArray - array: {}", array);
if (array != null) {
if (!checkWriteReference(array)) {
storeReference(array);
buf.put(AMF.TYPE_ARRAY);
buf.putInt(array.length);
for (Object item : array) {
Serializer.serialize(this, item);
}
}
} else {
writeNull();
}
}
开发者ID:Red5,项目名称:red5-io,代码行数:18,代码来源:Output.java
注:本文中的org.red5.io.object.Serializer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论