org.primordion.xholon.base
Interface IPortInterface

All Known Implementing Classes:
PortInterface

public interface IPortInterface

A port interface is either a provided or a required interface for one or more ports.

A provided interface is the set of behavioral features that the owning xholon provides to its environment through a specific port. In practical terms, on a non-conjugated port, these are the signals that are allowed in incoming messages received at the port. On a conjugated port, these are the signals that are allowed in outoing messages.

A required interface is the set of services that the owning xholon expects from its environment through a specific port. In practical terms, on a non-conjugated port, these are the signals that are allowed in outgoing messages sent from the port. On a conjugated port, these are the signals that are allowed in incoming messages.

Since:
0.4 (Created on August 21, 2006)
Author:
Ken Webb

Field Summary
static int SIGNAL_ID_NOT_FOUND
           
static java.lang.String SIGNAL_NAME_NOT_FOUND
           
 
Method Summary
 int[] getInterface()
          Get the provided or required interface of this port.
 java.lang.String[] getInterfaceNames()
          Get the names of the signals in the provided or required interface of this port.
 int getSignalId(java.lang.String name)
          Get the ID of an interface signal, given its name.
 java.lang.String getSignalName(int id)
          Get the name of an interface signal, given its ID.
 int getSize()
          Get number of signals in this provided or required interface.
 void setInterface(int[] nterface)
          Set the provided or required interface of this port.
 void setInterfaceNames(java.lang.String[] nterfaceNames)
          Set the names of the signals in the provided or required interface of this port.
 

Field Detail

SIGNAL_ID_NOT_FOUND

public static final int SIGNAL_ID_NOT_FOUND
See Also:
Constant Field Values

SIGNAL_NAME_NOT_FOUND

public static final java.lang.String SIGNAL_NAME_NOT_FOUND
Method Detail

getInterface

public int[] getInterface()
Get the provided or required interface of this port.

Returns:
An array of zero or more signal IDs.

setInterface

public void setInterface(int[] nterface)
Set the provided or required interface of this port.

Parameters:
nterface - An array of zero or more signal IDs.

getInterfaceNames

public java.lang.String[] getInterfaceNames()
Get the names of the signals in the provided or required interface of this port. The array is orderd corresponding to the order of the signal IDs obtained by calling getInterface().

Returns:
An array of zero or more signal names.

setInterfaceNames

public void setInterfaceNames(java.lang.String[] nterfaceNames)
Set the names of the signals in the provided or required interface of this port.

Parameters:
nterfaceNames - An array of zero or more signal names. These should be in the same order as the corresponding signal IDs used in setInterface().

getSignalName

public java.lang.String getSignalName(int id)
Get the name of an interface signal, given its ID.

Parameters:
id - A signal ID.
Returns:
The name corresponding to that ID, or a string version of the ID if no name is available, or SIGNAL_NAME_NOT_FOUND if it's an invalid ID.

getSignalId

public int getSignalId(java.lang.String name)
Get the ID of an interface signal, given its name.

Parameters:
name - The name of a signal.
Returns:
The ID corresponding to that signal, or SIGNAL_ID_NOT_FOUND if no ID is available.

getSize

public int getSize()
Get number of signals in this provided or required interface.

Returns:
The size of the signal array.