Package ptolemy.data

Examples of ptolemy.data.RecordToken


        ta = eng.get(engineHandle, "rr");
        System.out.println("rr = " + ta.toString());

        System.out.println("\nCreate 1x1 struct r (RecordToken):");

        RecordToken tr = new RecordToken(new String[] { "x", "r", "s" },
                new Token[] {
                        tx,
                        new RecordToken(new String[] { "a" },
                                new Token[] { new IntToken() }), ts });
        System.out.println("r = " + tr.toString());
        eng.put(engineHandle, "r", tr);

        Token t = eng.get(engineHandle, "r");
        System.out.println("\nRead back 1x1 struct r into RecordToken t:");
        System.out.println("t = " + t.toString());

        System.out.println("\nEval: ta = [r,r,r;r,r,r];");
        eng.evalString(engineHandle, "ta = [r,r,r;r,r,r];");
        t = eng.get(engineHandle, "ta");
        System.out.println("\nRead 2x3 struct ta into ArrayToken "
                + "of ArrayToken of RecordTokens:");
        System.out.println("ta = " + t.toString());

        System.out.println("\nCreate 1x3 cell array from ta, "
                + "an ArrayToken of RecordTokens:");

        RecordToken r1 = new RecordToken(new String[] { "a" },
                new Token[] { new ComplexMatrixToken(new Complex[][] { {
                        new Complex(1.0, 1.0), new Complex(2.0, 2.0) } }) });
        RecordToken r2 = new RecordToken(new String[] { "a" },
                new Token[] { new ComplexMatrixToken(new Complex[][] { {
                        new Complex(3.0, 3.0), new Complex(4.0, 4.0) } }) });
        RecordToken r3 = new RecordToken(new String[] { "a" },
                new Token[] { new ComplexMatrixToken(new Complex[][] { {
                        new Complex(5.0, 5.0), new Complex(6.0, 6.0) } }) });
        ta = new ArrayToken(new Token[] { r1, r2, r3 });
        System.out.println("ta = " + ta.toString());
        eng.put(engineHandle, "ta", ta);
View Full Code Here


        if (!isCompatible(token.getType())) {
            throw new IllegalArgumentException(Token
                    .notSupportedConversionMessage(token, this.toString()));
        }

        RecordToken recordToken = (RecordToken) token;

        // The converted token has the same set of labels as this type.
        Object[] labelArray = labelSet().toArray();

        // Arrays that will be used to create the new token.
        String[] labelStringArray = new String[labelArray.length];
        Token[] values = new Token[labelArray.length];

        for (int i = 0; i < labelArray.length; i++) {
            String label = (String) labelArray[i];

            // Convert each field of the record.
            Token fieldToken = recordToken.get(label);
            Type newFieldType = get(label);

            // If the type of the field is specified, then convert it.
            values[i] = newFieldType.convert(fieldToken);

            // Store the label for each field.
            labelStringArray[i] = label;
        }

        return new RecordToken(labelStringArray, values);
    }
View Full Code Here

                portTypes.add(new StringToken(port.getType().toString()));
            }

            if (portNames.size() > 0) {
                portActorNameList.add(entity.getName());
                portAssignments.add(new RecordToken((String[]) portNames
                        .toArray(new String[portNames.size()]),
                        (Token[]) portTypes
                                .toArray(new Token[portTypes.size()])));
            }

            ArrayList paramNames = new ArrayList();
            ArrayList paramTypes = new ArrayList();

            for (Iterator params = entity.attributeList(Parameter.class)
                    .iterator(); params.hasNext();) {
                Parameter param = (Parameter) params.next();
                paramNames.add(param.getName());
                paramTypes.add(new StringToken(param.getType().toString()));
            }

            if (paramNames.size() > 0) {
                parameterActorNameList.add(entity.getName());
                parameterAssignments.add(new RecordToken((String[]) paramNames
                        .toArray(new String[paramNames.size()]),
                        (Token[]) paramTypes.toArray(new Token[paramTypes
                                .size()])));
            }
        }

        RecordToken actualPortTypes = new RecordToken(
                (String[]) portActorNameList
                        .toArray(new String[portActorNameList.size()]),
                (Token[]) portAssignments.toArray(new Token[portAssignments
                        .size()]));
        RecordToken actualParameterTypes = new RecordToken(
                (String[]) parameterActorNameList
                        .toArray(new String[parameterActorNameList.size()]),
                (Token[]) parameterAssignments
                        .toArray(new Token[parameterAssignments.size()]));

        if (((BooleanToken) trainingMode.getToken()).booleanValue()) {
            if (NonStrictTest.isRunningNightlyBuild()) {
                throw new IllegalActionException(this,
                        NonStrictTest.TRAINING_MODE_ERROR_MESSAGE);
            } else {
                System.err.println("Warning: '" + this.getFullName()
                        + "' is in training mode, set the trainingMode "
                        + "parameter to false before checking in");
            }

            if (actualPortTypes.length() > 0) {
                portTypes.setToken(actualPortTypes);
            } else {
                portTypes.setToken((Token) null);
            }

            if (actualParameterTypes.length() > 0) {
                parameterTypes.setToken(actualParameterTypes);
            } else {
                parameterTypes.setToken((Token) null);
            }
        } else {
            RecordToken correctPortTypes = (RecordToken) portTypes.getToken();
            RecordToken correctParameterTypes = (RecordToken) parameterTypes
                    .getToken();

            if (correctPortTypes != null) {
                for (Iterator actorNames = correctPortTypes.labelSet()
                        .iterator(); actorNames.hasNext();) {
                    String actorName = (String) actorNames.next();
                    RecordToken assignment = (RecordToken) correctPortTypes
                            .get(actorName);

                    for (Iterator names = assignment.labelSet().iterator(); names
                            .hasNext();) {
                        String name = (String) names.next();
                        StringToken value = (StringToken) assignment.get(name);

                        if (actualPortTypes.get(actorName) == null) {
                            throw new IllegalActionException(
                                    this,
                                    "actualPortTypes.get("
                                            + actorName
                                            + ") returned null.  Perhaps there is no "
                                            + "actor by that name?");
                        }

                        StringToken actualValue = (StringToken) ((RecordToken) actualPortTypes
                                .get(actorName)).get(name);

                        if (!value.equals(actualValue)) {
                            throw new IllegalActionException(
                                    this,
                                    "Type of port "
                                            + ((CompositeEntity) getContainer())
                                                    .getEntity(actorName)
                                                    .getFullName() + "." + name
                                            + " should have been " + value
                                            + " but was " + actualValue + ".");
                        }
                    }
                }
            }

            if (correctParameterTypes != null) {
                for (Iterator actorNames = correctParameterTypes.labelSet()
                        .iterator(); actorNames.hasNext();) {
                    String actorName = (String) actorNames.next();
                    RecordToken assignment = (RecordToken) correctParameterTypes
                            .get(actorName);

                    for (Iterator names = assignment.labelSet().iterator(); names
                            .hasNext();) {
                        String name = (String) names.next();
                        StringToken value = (StringToken) assignment.get(name);
                        StringToken actualValue = (StringToken) ((RecordToken) actualParameterTypes
                                .get(actorName)).get(name);

                        if (!value.equals(actualValue)) {
                            throw new IllegalActionException(
View Full Code Here

        ptolemy.data.Token token = _evaluateChild(node, 0);
        String result = _childCode;

        // Handle indexing into a record.
        if ((argCount == 1) && token instanceof RecordToken) {
            RecordToken record = (RecordToken) token;

            if (record.labelSet().contains(node.getMethodName())) {
                _evaluatedChildToken = (record.get(node.getMethodName()));
                return;
            }
        }

        // The first child is the object to invoke the method on.
View Full Code Here

                        + "match in parsing a record expression.");

        String[] labels = (String[]) node.getFieldNames().toArray(
                new String[numChildren]);

        _evaluatedChildToken = (new RecordToken(labels, tokens));

        //if (node.isConstant()) {
        //    node.setToken(_evaluatedChildToken);
        //}
View Full Code Here

        int argCount = node.jjtGetNumChildren();
        ptolemy.data.Token[] tokens = _evaluateAllChildren(node);

        // Handle indexing into a record.
        if ((argCount == 1) && tokens[0] instanceof RecordToken) {
            RecordToken record = (RecordToken) tokens[0];

            if (record.labelSet().contains(node.getMethodName())) {
                _evaluatedChildToken = (record.get(node.getMethodName()));
                return;
            }
        }

        // The first child is the object to invoke the method on.
View Full Code Here

                        + "match in parsing a record expression.");

        String[] labels = (String[]) node.getFieldNames().toArray(
                new String[numChildren]);

        _evaluatedChildToken = (new RecordToken(labels, tokens));

        if (node.isConstant()) {
            node.setToken(_evaluatedChildToken);
        }
    }
View Full Code Here

            values[i] = (ptolemy.data.Token) _table.get(key);
            i++;
        }

        try {
            return new RecordToken(names, values);
        } catch (IllegalActionException ex) {
            throw new InternalErrorException("Cannot construct a record!");
        }
    }
View Full Code Here

    /** Return an empty record.
     *  @return An empty record.
     */
    public static RecordToken emptyRecord() throws IllegalActionException {
        return new RecordToken(new String[0], new Token[0]);
    }
View Full Code Here

            String name = (String) iterator.next();
            values[i] = record1.get(name);
            names[i] = name;
        }

        return new RecordToken(names, values);
    }
View Full Code Here

TOP

Related Classes of ptolemy.data.RecordToken

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.