Example usage for org.apache.commons.collections BeanMap entrySet

List of usage examples for org.apache.commons.collections BeanMap entrySet

Introduction

In this page you can find the example usage for org.apache.commons.collections BeanMap entrySet.

Prototype

public Set entrySet() 

Source Link

Document

Gets a Set of MapEntry objects that are the mappings for this BeanMap.

Usage

From source file:org.red5.io.amf.Output.java

/** {@inheritDoc} */
public void writeObject(Object object, Serializer serializer) {
    if (checkWriteReference(object))
        return;/*from w  w w  . j  av  a 2s. com*/

    storeReference(object);
    // Create new map out of bean properties
    BeanMap beanMap = new BeanMap(object);
    // Set of bean attributes
    Set<BeanMap.Entry<?, ?>> set = beanMap.entrySet();
    if ((set.size() == 0) || (set.size() == 1 && beanMap.containsKey("class"))) {
        // BeanMap is empty or can only access "class" attribute, skip it
        writeArbitraryObject(object, serializer);
        return;
    }

    // Write out either start of object marker for class name or "empty" start of object marker
    Class<?> objectClass = object.getClass();
    if (!objectClass.isAnnotationPresent(Anonymous.class)) {
        buf.put(AMF.TYPE_CLASS_OBJECT);
        putString(buf, objectClass.getName());
    } else {
        buf.put(AMF.TYPE_OBJECT);
    }

    if (object instanceof ICustomSerializable) {
        ((ICustomSerializable) object).serialize(this, serializer);
        buf.put((byte) 0x00);
        buf.put((byte) 0x00);
        buf.put(AMF.TYPE_END_OF_OBJECT);
        return;
    }

    // Iterate thru entries and write out property names with separators
    for (BeanMap.Entry<?, ?> entry : set) {
        if (entry.getKey().toString().equals("class")) {
            continue;
        }

        String keyName = entry.getKey().toString();
        // Check if the Field corresponding to the getter/setter pair is transient
        if (dontSerializeField(objectClass, keyName))
            continue;

        putString(buf, keyName);
        serializer.serialize(this, entry.getValue());
    }
    // Write out end of object mark
    buf.put((byte) 0x00);
    buf.put((byte) 0x00);
    buf.put(AMF.TYPE_END_OF_OBJECT);
}

From source file:org.red5.io.amf3.Output.java

/** {@inheritDoc} */
public void writeObject(Object object, Serializer serializer) {
    writeAMF3();/*w  ww  . j  a v  a2  s.c  o m*/
    buf.put(AMF3.TYPE_OBJECT);
    if (hasReference(object)) {
        putInteger(getReferenceId(object) << 1);
        return;
    }

    storeReference(object);
    String className = object.getClass().getName();
    if (className.startsWith("org.red5.compatibility.")) {
        // Strip compatibility prefix from classname
        className = className.substring(23);
    }

    if (object instanceof IExternalizable) {
        // The object knows how to serialize itself.
        int type = 1 << 1 | 1;
        if (object instanceof ObjectProxy) {
            type |= AMF3.TYPE_OBJECT_PROXY << 2;
        } else {
            type |= AMF3.TYPE_OBJECT_EXTERNALIZABLE << 2;
        }
        putInteger(type);
        putString(className);
        amf3_mode += 1;
        ((IExternalizable) object).writeExternal(new DataOutput(this, serializer));
        amf3_mode -= 1;
        return;
    }

    // We have an inline class that is not a reference.
    // We store the properties using key/value pairs
    int type = AMF3.TYPE_OBJECT_VALUE << 2 | 1 << 1 | 1;
    putInteger(type);

    // Create new map out of bean properties
    BeanMap beanMap = new BeanMap(object);
    // Set of bean attributes
    Set<BeanMap.Entry<?, ?>> set = beanMap.entrySet();
    if ((set.size() == 0) || (set.size() == 1 && beanMap.containsKey("class"))) {
        // BeanMap is empty or can only access "class" attribute, skip it
        writeArbitraryObject(object, serializer);
        return;
    }

    // Write out either start of object marker for class name or "empty" start of object marker
    Class<?> objectClass = object.getClass();
    if (!objectClass.isAnnotationPresent(Anonymous.class)) {
        // classname
        putString(className);
    } else {
        putString("");
    }

    // Store key/value pairs
    amf3_mode += 1;
    for (BeanMap.Entry<?, ?> entry : set) {
        String keyName = entry.getKey().toString();
        if ("class".equals(keyName)) {
            continue;
        }

        // Check if the Field corresponding to the getter/setter pair is transient
        if (dontSerializeField(objectClass, keyName))
            continue;

        putString(keyName);
        serializer.serialize(this, entry.getValue());
    }
    amf3_mode -= 1;

    // End of object marker
    putString("");
}

From source file:se.vgregion.service.barium.BariumRestClientImpl.java

/**
 * To url.// w  w  w .  j  av a2  s .  c o  m
 *
 * @param ideaObjectFields the idea object fields
 * @return the string
 */
String toUrl(IdeaObjectFields ideaObjectFields) {
    StringBuilder sb = new StringBuilder();

    sb.append("message=START");
    sb.append("&template=565d4c81-4baa-451b-aacc-5f7ae295bfaf");

    BeanMap bm = new BeanMap(ideaObjectFields);
    for (Object entryObj : bm.entrySet()) {

        Map.Entry<String, Object> entry = (Map.Entry<String, Object>) entryObj;

        if ("class".equals(entry.getKey())) {
            continue;
        }
        Object value = entry.getValue();
        if (value != null) {
            String name = IdeaObjectFields.SPECIAL_FIELD_MAPPINGS_REVERSE.get(entry.getKey());
            if (name == null) {
                name = entry.getKey();
            }
            sb.append("&");
            sb.append(name);
            sb.append("=");
            try {
                value = URLEncoder.encode(value + "", "utf-8");
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException(e);
            }
            sb.append(value);
        }
    }
    return sb.toString();
}

From source file:se.vgregion.service.innovationsslussen.ldap.LdapService.java

AndFilter toAndCondition(Object obj) {
    AndFilter filter = new AndFilter();
    BeanMap bm = new BeanMap(obj);
    Class type = obj.getClass();/* w  w w  . j av  a2  s  . c  om*/
    for (Object entryObj : bm.entrySet()) {
        Map.Entry<String, Object> entry = (Map.Entry<String, Object>) entryObj;
        String property = entry.getKey();
        if (bm.getWriteMethod(property) != null) {
            Object value = entry.getValue();
            if (value != null && !"".equals(value.toString().trim())) {
                String ldapPropertyName = getPlainNameOrExplicit(type, property);
                filter.and(newAttributeFilter(ldapPropertyName, value.toString()));
            }
        }
    }
    return filter;
}