congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
AMF3Deserializer
Code IndexAdd Tabnine to your IDE (free)

How to use
AMF3Deserializer
in
org.granite.messaging.amf.io

Best Java code snippets using org.granite.messaging.amf.io.AMF3Deserializer (Showing top 20 results out of 315)

origin: org.graniteds/granite-server

@SuppressWarnings("unchecked")
protected List<Object> readAMF3VectorObject() throws IOException {
  final int type = readAMF3UnsignedInteger();
  final int lengthOrIndex = type >>> 1;
  
  if ((type & 0x01) == 0) // stored vector.
    return (List<Object>)storedObjects.get(lengthOrIndex);
  readByte(); // fixed flag: unused...
  readAMF3String(); // component class name: unused...
  
  List<Object> vector = new ArrayList<Object>(lengthOrIndex);
  storedObjects.add(vector);
  for (int i = 0; i < lengthOrIndex; i++)
    vector.add(readObject());
  return vector;
}
 
origin: org.graniteds/granite-client-java

  return Boolean.TRUE;
case AMF3_INTEGER: // 0x04;
  return Integer.valueOf(readAMF3Integer());
case AMF3_NUMBER: // 0x05;
  return readAMF3Double();
case AMF3_STRING: // 0x06;
  return readAMF3String();
case AMF3_XML: // 0x07;
  return readAMF3Xml();
case AMF3_DATE: // 0x08;
  return readAMF3Date();
case AMF3_ARRAY: // 0x09;
  return readAMF3Array();
case AMF3_OBJECT: // 0x0A;
  return readAMF3Object();
case AMF3_XMLSTRING: // 0x0B;
  return readAMF3XmlString();
case AMF3_BYTEARRAY: // 0x0C;
  return readAMF3ByteArray();
case AMF3_VECTOR_INT: // 0x0D;
  return readAMF3VectorInt();
case AMF3_VECTOR_UINT: // 0x0E;
  return readAMF3VectorUint();
case AMF3_VECTOR_NUMBER: // 0x0F;
  return readAMF3VectorNumber();
case AMF3_VECTOR_OBJECT: // 0x10;
  return readAMF3VectorObject();
case AMF3_DICTIONARY: // 0x11;
  return readAMF3Dictionary();
origin: org.graniteds/granite-server

public Object readObject() throws IOException {
  ensureAvailable(1);
  int type = buffer[position++];
  
  return readObject(type);
}
origin: org.graniteds/granite-client-javafx

/**
 * Reads object
 *
 * @return the AMF3 decoded object
 */
protected Object readAMF3Data() throws IOException {
  AMF3Deserializer amf3 = (AMF3Deserializer)dataInput;
  amf3.reset();
  return amf3.readObject();
}
origin: org.graniteds/granite-client

protected byte[] readAMF3ByteArray() throws IOException {
  byte[] result = null;
  int type = readAMF3Integer();
  if ((type & 0x01) == 0) // stored object.
    result = (byte[])getFromStoredObjects(type >> 1);
  else {
    result = readBytes(type >> 1);
    addToStoredObjects(result);
  }
  if (debugMore) logMore.debug("readAMF3ByteArray() -> %s", result);
  return result;
}
origin: org.graniteds/granite-client-javafx

  @Override
  public Message[] decode(InputStream input) throws IOException {
    SimpleGraniteContext.createThreadInstance(config.getGraniteConfig(), config.getServicesConfig(), new HashMap<String, Object>(0), getClientType().toString());
    try {
      AMF3Deserializer deserializer = new AMF3Deserializer(input);
      Object[] objects = (Object[])deserializer.readObject();
      deserializer.close();
      
      if (objects != null) {
        Message[] messages = new Message[objects.length];
        System.arraycopy(objects, 0, messages, 0, objects.length);
        
        for (Message message : messages) {
          if (message != null && Boolean.TRUE.equals(message.getHeader(Channel.BYTEARRAY_BODY_HEADER))) {
            byte[] body = (byte[])message.getBody();
            deserializer = new AMF3Deserializer(new ByteArrayInputStream(body));
            message.setBody(deserializer.readObject());
            deserializer.close();
          }
        }
        
        return messages;
      }
      return new Message[0];
    }
    finally {
      GraniteContext.release();
    }
  }
}
origin: org.graniteds/granite-client

int type = readAMF3Integer();
if (debug) log.debug("readAMF3Object() - type=0x%02X", type);
  result = getFromStoredObjects(type >> 1);
else {
  boolean inlineClassDef = (((type >> 1) & 0x01) != 0);
    String alias = readAMF3String();
    String className = context.getGraniteConfig().getAliasRegistry().getTypeForAlias(alias);
    if (debug) log.debug("readAMF3Object() - alias=%, className=%s", alias, className);
    addToStoredClassDescriptors(desc);
      String name = readAMF3String();
      if (debug) log.debug("readAMF3Object() - defining property name=%s", name);
      desc.defineProperty(name);
    desc = getFromStoredClassDescriptors(type >> 2);
  int index = addToStoredObjects(result);
      if (debug) log.debug("readAMF3Object() - reading defined properties...");
      for (int i = 0; i < desc.getPropertiesCount(); i++) {
        byte vType = readByte();
        Object value = readObject(vType);
        if (debug) log.debug("readAMF3Object() - setting defined property: %s=%s", desc.getPropertyName(i), value);
        desc.setPropertyValue(i, result, value);
      if (debug) log.debug("readAMF3Object() - reading dynamic properties...");
origin: org.graniteds/granite-client-javafx

protected void readStandard(ActionScriptClassDescriptor desc, Object result) throws IOException {
  // defined values...
  final int count = desc.getPropertiesCount();
  for (int i = 0; i < count; i++) {
    Property property = desc.getProperty(i);
    Object value = readObject(readUnsignedByte());
    
    if (value != null && value.getClass() == property.getType())
      property.setValue(result, value, false);
    else
      property.setValue(result, value, true);
  }
  // dynamic values...
  if (desc.isDynamic()) {
    while (true) {
      String name = readAMF3String();
      if (name.length() == 0)
        break;
      Object value = readObject(readUnsignedByte());
      desc.setPropertyValue(name, result, value);
    }
  }
}
 
origin: org.graniteds/granite-client

protected Object readAMF3VectorObject() throws IOException {
  Object result = null;
  int type = readAMF3Integer();
  if ((type & 0x01) == 0) // stored vector.
    result = getFromStoredObjects(type >> 1);
  else {
    final int length = type >> 1;
    List<Object> vector = new ArrayList<Object>(length);
    
    addToStoredObjects(result);
    
    readAMF3Integer(); // always 0x00?
    readAMF3Integer(); // always 0x01?
    
    for (int i = 0; i < length; i++)
      vector.add(readObject());
    
    result = vector;
  }
  
  if (debugMore) logMore.debug("readAMF3VectorObject() -> %s", result);
  return result;
}
origin: org.graniteds/granite-server

@SuppressWarnings("unchecked")
protected Map<Object, Object> readAMF3Dictionary() throws IOException {
  final int type = readAMF3UnsignedInteger();
  final int lengthOrIndex = type >>> 1;
  if ((type & 0x01) == 0) // stored dictionary.
    return (Map<Object, Object>)storedObjects.get(lengthOrIndex);
  readByte(); // weak keys flag: unused...
  
  // AS3 Dictionary doesn't have a strict Java equivalent: use an HashMap, which
  // could (unlikely) lead to duplicated keys collision...
  Map<Object, Object> dictionary = new HashMap<Object, Object>(lengthOrIndex);
  storedObjects.add(dictionary);
  for (int i = 0; i < lengthOrIndex; i++) {
    Object key = readObject();
    Object value = readObject();
    dictionary.put(key, value);
  }
  return dictionary;
}
origin: org.graniteds/granite-client-javafx

protected Object readAMF3Array() throws IOException {
  final int type = readAMF3UnsignedInteger();
  final int lengthOrIndex = type >>> 1;
  if ((type & 0x01) == 0) // stored array.
    return storedObjects.get(lengthOrIndex);
  String key = readAMF3String();
  if (key.length() == 0) {
    Object[] objects = new Object[lengthOrIndex];
    storedObjects.add(objects);
    for (int i = 0; i < lengthOrIndex; i++)
      objects[i] = readObject();
    return objects;
  }
  Map<Object, Object> map = new HashMap<Object, Object>(lengthOrIndex);
  storedObjects.add(map);
  while (key.length() > 0) {
    map.put(key, readObject());
    key = readAMF3String();
  }
  for (int i = 0; i < lengthOrIndex; i++)
    map.put(Integer.valueOf(i), readObject());
  return map;
}
origin: org.graniteds/granite-client

protected Date readAMF3Date() throws IOException {
  Date result = null;
  int type = readAMF3Integer();
  if ((type & 0x01) == 0) // stored Date
    result = (Date)getFromStoredObjects(type >> 1);
  else {
    result = new Date((long)readDouble());
    addToStoredObjects(result);
  }
  if (debugMore) logMore.debug("readAMF3Date() -> %s", result);
  return result;
}
origin: org.graniteds/granite-client

protected Object readAMF3VectorInt() throws IOException {
  Object result = null;
  int type = readAMF3Integer();
  if ((type & 0x01) == 0) // stored vector.
    result = getFromStoredObjects(type >> 1);
  else {
    final int length = type >> 1;
    List<Integer> vector = new ArrayList<Integer>(length);
    
    addToStoredObjects(result);
    
    readAMF3Integer(); // always 0x00?
    
    for (int i = 0; i < length; i++)
      vector.add(readInt());
    
    result = vector;
  }
  
  if (debugMore) logMore.debug("readAMF3VectorInt() -> %s", result);
  return result;
}
origin: org.graniteds/granite-client

public Object readObject() throws IOException {
  if (debugMore) logMore.debug("readObject()...");
  try {
    int type = readAMF3Integer();
    return readObject(type);
  }
  catch (IOException e) {
    throw e;
  }
  catch (Exception e) {
    throw new AMF3SerializationException(e);
  }
}
origin: org.ow2.kerneos.graniteds-osgi/granite-core

  @Override
  public Object readObject() throws IOException {
    OSGiGraniteClassUtil.setDestination(null);
    Object obj = super.readObject();
    if (obj instanceof AbstractMessage  && ! (obj instanceof CommandMessage)) {
      AbstractMessage message = (AbstractMessage) obj;
      OSGiGraniteClassUtil.setDestination(message.getDestination());
      if (Boolean.TRUE.equals(message.getHeader(OSGiConstants.BYTEARRAY_BODY_HEADER))) {
        byte[] byteArray = (byte[]) message.getBody();
        ByteArrayInputStream bais = new ByteArrayInputStream(byteArray);
        AMF3Deserializer deser = new AMF3Deserializer(bais);
        message.setBody(deser.readObject());
      }
    }
    return obj;
  }
}
origin: org.graniteds/granite-client

int type = readAMF3Integer();
if ((type & 0x01) == 0) // stored string
  result = getFromStoredStrings(type >> 1);
else {
  int length = type >> 1;
    char[] utfChars = new char[length];
    readFully(utfBytes);
    addToStoredStrings(result);
  } else
    result = "";
origin: org.graniteds/granite-server

final byte encoding = (byte)((flags >>> 2) & 0x03);
String alias = readAMF3String();
String className = aliasRegistry.getTypeForAlias(alias);
  String name = readAMF3String();
  desc.defineProperty(name);
origin: org.graniteds/granite-client

  @Override
  public Message[] decode(InputStream input) throws IOException {
    SimpleGraniteContext.createThreadInstance(config.getGraniteConfig(), config.getServicesConfig(), new HashMap<String, Object>(0), getClientType().toString());
    try {
      AMF3Deserializer deserializer = new AMF3Deserializer(input);
      Object[] objects = (Object[])deserializer.readObject();
      deserializer.close();
      
      if (objects != null) {
        Message[] messages = new Message[objects.length];
        System.arraycopy(objects, 0, messages, 0, objects.length);
        
        for (Message message : messages) {
          if (message != null && Boolean.TRUE.equals(message.getHeader(Channel.BYTEARRAY_BODY_HEADER))) {
            byte[] body = (byte[])message.getBody();
            deserializer = new AMF3Deserializer(new ByteArrayInputStream(body));
            message.setBody(deserializer.readObject());
            deserializer.close();
          }
        }
        
        return messages;
      }
      return new Message[0];
    }
    finally {
      GraniteContext.release();
    }
  }
}
origin: org.graniteds/granite-server

protected void readStandard(ActionScriptClassDescriptor desc, Object result) throws IOException {
  // defined values...
  final int count = desc.getPropertiesCount();
  for (int i = 0; i < count; i++) {
    Property property = desc.getProperty(i);
    Object value = readObject(readUnsignedByte());
    
    if (value != null && value.getClass() == property.getType())
      property.setValue(result, value, false);
    else
      property.setValue(result, value, true);
  }
  // dynamic values...
  if (desc.isDynamic()) {
    while (true) {
      String name = readAMF3String();
      if (name.length() == 0)
        break;
      Object value = readObject(readUnsignedByte());
      desc.setPropertyValue(name, result, value);
    }
  }
}
 
origin: org.graniteds/granite-client

protected Object readAMF3Array() throws IOException {
  Object result = null;
  int type = readAMF3Integer();
  if ((type & 0x01) == 0) // stored array.
    result = getFromStoredObjects(type >> 1);
  else {
    final int size = type >> 1;
    String key = readAMF3String();
    if (key.length() == 0) {
      Object[] objects = new Object[size];
      addToStoredObjects(objects);
      for (int i = 0; i < size; i++)
        objects[i] = readObject();
      result = objects;
    }
    else {
      Map<Object, Object> map = new HashMap<Object, Object>();
      addToStoredObjects(map);
      while(key.length() > 0) {
        map.put(key, readObject());
        key = readAMF3String();
      }
      for (int i = 0; i < size; i++)
        map.put(Integer.valueOf(i), readObject());
      result = map;
    }
  }
  if (debugMore) logMore.debug("readAMF3Array() -> %s", result);
  return result;
}
org.granite.messaging.amf.ioAMF3Deserializer

Most used methods

  • <init>
  • readObject
  • close
  • readAMF3Array
  • readAMF3ByteArray
  • readAMF3Date
  • readAMF3Double
  • readAMF3Integer
  • readAMF3Object
  • readAMF3String
  • readAMF3VectorInt
  • readAMF3VectorNumber
  • readAMF3VectorInt,
  • readAMF3VectorNumber,
  • readAMF3VectorObject,
  • readAMF3Xml,
  • readAMF3XmlString,
  • readByte,
  • readDouble,
  • readFully,
  • readInt,
  • readUnsignedByte

Popular in Java

  • Reactive rest calls using spring rest template
  • onCreateOptionsMenu (Activity)
  • putExtra (Intent)
  • setScale (BigDecimal)
  • Color (java.awt)
    The Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary
  • FlowLayout (java.awt)
    A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph. F
  • Proxy (java.net)
    This class represents proxy server settings. A created instance of Proxy stores a type and an addres
  • Path (java.nio.file)
  • Hashtable (java.util)
    A plug-in replacement for JDK1.5 java.util.Hashtable. This version is based on org.cliffc.high_scale
  • JPanel (javax.swing)
  • Github Copilot alternatives
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now