Package org.apache.harmony.beans

Examples of org.apache.harmony.beans.ObjectNode


        e = roots.elements();
        while (e.hasMoreElements()) {
            Object object = e.nextElement();

            if (object != null) {
                ObjectNode node = nodes.get(object);

                printObjectTag(0, object, node);
            } else {
                printNullTag(0);
            }
View Full Code Here


                    Iterator<Expression> i1;
                    Iterator<Statement> i2;

                    for (Object element : arguments) {
                        if (element != null) {
                            ObjectNode succNode = nodes.get(element);

                            printObjectTag(++tabCount, element, succNode);
                        } else {
                            printNullTag(++tabCount);
                        }
View Full Code Here

        try {
            Enumeration<ObjectNode> enumeration;
            Tag tag;
            String objectName;
            String methodName;
            ObjectNode node;
            Object[] args;

            exprValue = expr.getValue();

            // find out, if this object is already printed
            enumeration = printed.elements();
            while (enumeration.hasMoreElements()) {
                ObjectNode node2 = enumeration.nextElement();

                if (node2.getObjectValue() == exprValue) {
                    return;
                }
            }

            node = nodes.get(exprValue);

            // find out, if this object has no references to be printed
            // System.out.println("---- node.getReferencesNumber() = " +
            // node.getReferencesNumber());
            // System.out.println("---- node.getReferencedExpressionsNumber() =
            // " + node.getReferencedExpressionsNumber());

            if (node.getReferencesNumber() == 0) {
                return;
            }

            tag = new Tag("void"); //$NON-NLS-1$
            objectName = NameMaker.getInstanceName(exprValue.getClass());

            node.setId(objectName);
            tag.addAttr("id", objectName); //$NON-NLS-1$

            methodName = expr.getMethodName();
            args = expr.getArguments();

            if (methodName.startsWith("get") //$NON-NLS-1$
                    && (args.length == 0 || args.length == 1
                            && args[0].getClass() == Integer.class)
                    || methodName.startsWith("set") //$NON-NLS-1$
                    && (args.length == 1 || args.length == 2
                            && args[0].getClass() == Integer.class)) {
                String propertyName = methodName.substring(3);

                if (propertyName.length() > 0) {
                    tag.addAttr("property", Introspector //$NON-NLS-1$
                            .decapitalize(propertyName));
                }

                if (methodName.startsWith("get") && args.length == 1 //$NON-NLS-1$
                        || methodName.startsWith("set") && args.length == 2) { //$NON-NLS-1$
                    tag.addAttr("index", args[0].toString()); //$NON-NLS-1$
                }
            } else {
                tag.addAttr("method", expr.getMethodName()); //$NON-NLS-1$
            }

            printBytes(tabCount, tag.toStringOnOpen());

            for (int i = tag.hasAttr("index") ? 1 : 0; i < args.length; ++i) { //$NON-NLS-1$
                if (args[i] != null) {
                    ObjectNode node2 = nodes.get(args[i]);

                    printObjectTag(++tabCount, args[i], node2);
                } else {
                    printNullTag(++tabCount);
                }
View Full Code Here

        printBytes(tabCount, tag.toStringOnOpen());

        for (int i = tag.hasAttr("index") ? 1 : 0; i < args.length; ++i) { //$NON-NLS-1$
            if (args[i] != null) {
                ObjectNode node = nodes.get(args[i]);

                printObjectTag(++tabCount, args[i], node);
            } else {
                printNullTag(++tabCount);
            }
View Full Code Here

        pd.writeObject(object, this);
    }

    public void writeStatement(Statement oldStm) {
        ObjectNode node = nodes.get(oldStm.getTarget());

        if (node != null) {
            try {
                Statement statement;
                Object[] oldArgs = oldStm.getArguments();

                // FIXME add target processing here
                write(oldArgs);
                statement = new Statement(node.getObjectValue(), oldStm
                        .getMethodName(), oldArgs);
                statement.execute();
                node.addStatement(statement);
            } catch (Exception e) {
                getExceptionListener().exceptionThrown(e);
            }
        } else {
            // FIXME incompatible with RI, default constructor should be
View Full Code Here

    public void writeExpression(Expression oldExp) {
        try {
            Object oldValue = oldExp.getValue();
            Object oldTarget = oldExp.getTarget();

            ObjectNode valueNode = null;
            Class<?> valueType = null;

            // write target
            if (!Statement.isPDConstructor(oldExp)
                    && !Statement.isStaticMethodCall(oldExp)) {
                ObjectNode parent;

                // XXX investigate
                // write(oldTarget);
                parent = nodes.get(oldTarget);
                if (parent != null) {
                    parent.addExpression(oldExp);
                }
            }

            // write value

            if (oldValue != null) {
                valueType = oldValue.getClass();
                valueNode = nodes.get(oldValue);
            }

            if (valueNode == null) {

                if (isNull(valueType) || isPrimitive(valueType)
                        || isString(valueType)) {
                    valueNode = new ObjectNode(oldExp);
                } else {
                    write(oldExp.getArguments());
                    valueNode = new ObjectNode(oldExp, nodes);
                }

                nodes.put(oldValue, valueNode);
            } else if (oldExp.getMethodName().equals("new")) { //$NON-NLS-1$
                valueNode.addReference();
View Full Code Here

    private Object write(Object oldInstance) throws Exception {
        if (oldInstance == null) {
            return null;
        }

        ObjectNode node = nodes.get(oldInstance);

        if (node == null) {
            doWriteObject(oldInstance);
            node = nodes.get(oldInstance);
        } else {
            node.addReference();
        }

        return node.getObjectValue();
    }
View Full Code Here

TOP

Related Classes of org.apache.harmony.beans.ObjectNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.