Class MetaBean

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, BeanCommon, EventConstraints, Startable, UserRequestAcceptor, Visible

A meta bean that encapsulates several other regular beans, useful for grouping large KnowledgeFlows.
Version:
$Revision: 10221 $
Author:
Mark Hall (mhall at cs dot waikato dot ac dot nz)
See Also:
  • Constructor Details

    • MetaBean

      public MetaBean()
  • Method Details

    • setCustomName

      public void setCustomName(String name)
      Set a custom (descriptive) name for this bean
      Specified by:
      setCustomName in interface BeanCommon
      Parameters:
      name - the name to use
    • getCustomName

      public String getCustomName()
      Get the custom (descriptive) name for this bean (if one has been set)
      Specified by:
      getCustomName in interface BeanCommon
      Returns:
      the custom name (or the default name)
    • setAssociatedConnections

      public void setAssociatedConnections(Vector<BeanConnection> ac)
    • getAssociatedConnections

      public Vector<BeanConnection> getAssociatedConnections()
    • setSubFlow

      public void setSubFlow(Vector<Object> sub)
    • getSubFlow

      public Vector<Object> getSubFlow()
    • setInputs

      public void setInputs(Vector<Object> inputs)
    • getInputs

      public Vector<Object> getInputs()
    • setOutputs

      public void setOutputs(Vector<Object> outputs)
    • getOutputs

      public Vector<Object> getOutputs()
    • subFlowContains

      public boolean subFlowContains(BeanInstance toCheck)
    • inputsContains

      public boolean inputsContains(BeanInstance toCheck)
    • outputsContains

      public boolean outputsContains(BeanInstance toCheck)
    • getBeansInSubFlow

      public Vector<Object> getBeansInSubFlow()
      Return all the beans in the sub flow
      Returns:
      a Vector of all the beans in the sub flow
    • getBeansInInputs

      public Vector<Object> getBeansInInputs()
      Return all the beans in the inputs
      Returns:
      a Vector of all the beans in the inputs
    • getBeansInOutputs

      public Vector<Object> getBeansInOutputs()
      Return all the beans in the outputs
      Returns:
      a Vector of all the beans in the outputs
    • getBeanInfoSubFlow

      public Vector<BeanInfo> getBeanInfoSubFlow()
    • getBeanInfoInputs

      public Vector<BeanInfo> getBeanInfoInputs()
    • getBeanInfoOutputs

      public Vector<BeanInfo> getBeanInfoOutputs()
    • getOriginalCoords

      public Vector<Point> getOriginalCoords()
      returns the vector containing the original coordinates (instances of class Point) for the inputs
      Returns:
      the containing the coord Points of the original inputs
    • setOriginalCoords

      public void setOriginalCoords(Vector<Point> value)
      sets the vector containing the original coordinates (instances of class Point) for the inputs
      Parameters:
      value - the vector containing the points of the coords of the original inputs
    • shiftBeans

      public void shiftBeans(BeanInstance toShiftTo, boolean save)
      Move coords of all inputs and outputs of this meta bean to the coords of the supplied BeanInstance. Typically the supplied BeanInstance is the BeanInstance that encapsulates this meta bean; the result in this case is that all inputs and outputs are shifted so that their coords coincide with the meta bean and all connections to them appear (visually) to go to/from the meta bean.
      Parameters:
      toShiftTo - the BeanInstance whos coordinates will be used.
      save - true if coordinates are to be saved.
    • restoreBeans

      public void restoreBeans(int x, int y)
    • eventGeneratable

      public boolean eventGeneratable(EventSetDescriptor esd)
      Returns true, if at the current time, the event described by the supplied event descriptor could be generated.
      Parameters:
      esd - an EventSetDescriptor value
      Returns:
      a boolean value
    • eventGeneratable

      public boolean eventGeneratable(String eventName)
      Returns true, if at the current time, the named event could be generated. Assumes that the supplied event name is an event that could be generated by this bean
      Specified by:
      eventGeneratable in interface EventConstraints
      Parameters:
      eventName - the name of the event in question
      Returns:
      true if the named event could be generated at this point in time
    • connectionAllowed

      public boolean connectionAllowed(EventSetDescriptor esd)
      Returns true if, at this time, the object will accept a connection with respect to the supplied EventSetDescriptor
      Specified by:
      connectionAllowed in interface BeanCommon
      Parameters:
      esd - the EventSetDescriptor
      Returns:
      true if the object will accept a connection
    • connectionAllowed

      public boolean connectionAllowed(String eventName)
      Description copied from interface: BeanCommon
      Returns true if, at this time, the object will accept a connection via the named event
      Specified by:
      connectionAllowed in interface BeanCommon
      Parameters:
      eventName - the name of the event
      Returns:
      true if the object will accept a connection
    • connectionNotification

      public void connectionNotification(String eventName, Object source)
      Notify this object that it has been registered as a listener with a source with respect to the named event. This is just a dummy method in this class to satisfy the interface. Specific code in BeanConnection takes care of this method for MetaBeans
      Specified by:
      connectionNotification in interface BeanCommon
      Parameters:
      eventName - the event
      source - the source with which this object has been registered as a listener
    • disconnectionNotification

      public void disconnectionNotification(String eventName, Object source)
      Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name. This is just a dummy method in this class to satisfy the interface. Specific code in BeanConnection takes care of this method for MetaBeans
      Specified by:
      disconnectionNotification in interface BeanCommon
      Parameters:
      eventName - the event
      source - the source with which this object has been registered as a listener
    • stop

      public void stop()
      Stop all encapsulated beans
      Specified by:
      stop in interface BeanCommon
    • isBusy

      public boolean isBusy()
      Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).
      Specified by:
      isBusy in interface BeanCommon
      Returns:
      true if the bean is busy.
    • setVisual

      public void setVisual(BeanVisual newVisual)
      Sets the visual appearance of this wrapper bean
      Specified by:
      setVisual in interface Visible
      Parameters:
      newVisual - a BeanVisual value
    • getVisual

      public BeanVisual getVisual()
      Gets the visual appearance of this wrapper bean
      Specified by:
      getVisual in interface Visible
      Returns:
      a BeanVisual value
    • useDefaultVisual

      public void useDefaultVisual()
      Use the default visual appearance for this bean
      Specified by:
      useDefaultVisual in interface Visible
    • getStartMessage

      public String getStartMessage()
      Description copied from interface: Startable
      Gets a string that describes the start action. The KnowledgeFlow uses this in the popup contextual menu for the component. The string can be proceeded by a '$' character to indicate that the component can't be started at present.
      Specified by:
      getStartMessage in interface Startable
      Returns:
      a string describing the start action.
    • start

      public void start()
      Description copied from interface: Startable
      Start the flow running
      Specified by:
      start in interface Startable
    • enumerateRequests

      public Enumeration<String> enumerateRequests()
      Return an enumeration of requests that can be made by the user
      Specified by:
      enumerateRequests in interface UserRequestAcceptor
      Returns:
      an Enumeration value
    • setSubFlowPreview

      public void setSubFlowPreview(ImageIcon sfp)
    • performRequest

      public void performRequest(String request)
      Perform a particular request
      Specified by:
      performRequest in interface UserRequestAcceptor
      Parameters:
      request - the request to perform
      Throws:
      IllegalArgumentException - if an error occurs
    • setLog

      public void setLog(Logger logger)
      Set a logger
      Specified by:
      setLog in interface BeanCommon
      Parameters:
      logger - a Logger value
    • removePropertyChangeListenersSubFlow

      public void removePropertyChangeListenersSubFlow(PropertyChangeListener pcl)
    • addPropertyChangeListenersSubFlow

      public void addPropertyChangeListenersSubFlow(PropertyChangeListener pcl)
    • canAcceptConnection

      public boolean canAcceptConnection(Class<?> listenerClass)
      Checks to see if any of the inputs to this group implements the supplied listener class
      Parameters:
      listenerClass - the listener to check for
    • getSuitableTargets

      public Vector<BeanInstance> getSuitableTargets(EventSetDescriptor esd)
      Return a list of input beans capable of receiving the supplied event
      Parameters:
      esd - the event in question
      Returns:
      a vector of beans capable of handling the event