本文整理汇总了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;
}
示例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("");
}
示例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("");
}
示例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);
}
}
示例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();
}
}
示例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);
}
示例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);
}
示例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;
}
示例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);
}
示例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();
}
示例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();
}
示例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();
}
示例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());
}
}
}
示例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;
}
示例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;
}