Class Receiver

    • Constructor Detail

      • Receiver

        public Receiver​(Receiver receiver)
                 throws IllegalActionException
        Construct the Receiver adapter.
        Parameters:
        receiver - The ptolemy.actor.receiver that corresponds with this adapter
        Throws:
        IllegalActionException - If thrown by the super class.
    • Method Detail

      • generateGetCode

        public abstract java.lang.String generateGetCode​(java.lang.String offset)
                                                  throws IllegalActionException
        Generate code for getting tokens from the receiver.
        Parameters:
        offset - The offset in the array representation of the port.
        Returns:
        The code for getting tokens from the receiver.
        Throws:
        IllegalActionException - If the receiver adapter is not found or it encounters an error while generating the get code.
      • generateHasTokenCode

        public abstract java.lang.String generateHasTokenCode​(java.lang.String offset)
                                                       throws IllegalActionException
        Generate code to check if the receiver has a token.
        Parameters:
        offset - The offset in the array representation of the port.
        Returns:
        The code to check if the receiver has a token.
        Throws:
        IllegalActionException - If an error occurs when getting the receiver adapters or generating their initialize code.
      • generateInitializeCode

        public java.lang.String generateInitializeCode()
                                                throws IllegalActionException
        Generate the initialize code. In this base class, return empty string. Subclasses may extend this method to generate initialize code of the associated component and append the code to the given string buffer.
        Returns:
        The initialize code of the containing composite actor.
        Throws:
        IllegalActionException - If thrown while appending to the the block or processing the macros.
      • generatePutCode

        public abstract java.lang.String generatePutCode​(IOPort sourcePort,
                                                         java.lang.String offset,
                                                         java.lang.String token)
                                                  throws IllegalActionException
        Generate code for putting tokens to the receiver. Note the type conversion is also done in this put method.
        Parameters:
        sourcePort - The port for which to generate the send code.
        offset - The offset in the array representation of the port.
        token - The token to be sent.
        Returns:
        The code to put tokens to the receiver.
        Throws:
        IllegalActionException - If the receiver adapter is not found or it encounters an error while generating the send code.
      • _generateTypeConvertStatement

        protected abstract java.lang.String _generateTypeConvertStatement​(ProgramCodeGeneratorAdapter.Channel source)
                                                                   throws IllegalActionException
        Generate the type conversion statement for the particular offset of the two given channels. This assumes that the offset is the same for both channel. Advancing the offset of one has to advance the offset of the other.
        Parameters:
        source - The given source channel.
        Returns:
        The type convert statement for assigning the converted source variable to the sink variable with the given offset.
        Throws:
        IllegalActionException - If there is a problem getting the adapters for the ports or if the conversion cannot be handled.
      • _removeSink

        protected java.lang.String _removeSink​(java.lang.String token)
                                        throws IllegalActionException
        Given a String that is an assignment operation, return the right hand side (the source).

        The token should be in the form of "sinkRef = $convert(sourceRef)".

        Parameters:
        token - A string that contains the assignment.
        Returns:
        The right hand side of the assignment.
        Throws:
        IllegalActionException - If the token does contain a "=".
      • _getDirectorForReceiver

        protected Director _getDirectorForReceiver()
                                            throws IllegalActionException
        Each receiver is associated with a director, return that director.
        Returns:
        The director associated with this receiver.
        Throws:
        IllegalActionException - FIXME: this is not exactly correct.