Class AbstractContainer

java.lang.Object
org.praxislive.base.AbstractComponent
org.praxislive.base.AbstractContainer
All Implemented Interfaces:
org.praxislive.core.Component, org.praxislive.core.Container, org.praxislive.core.Lookup.Provider
Direct Known Subclasses:
AbstractContainer.Delegate

public abstract class AbstractContainer extends AbstractComponent implements org.praxislive.core.Container
Abstract base class for Container supporting all controls of ContainerProtocol.

Use the AbstractContainer.Delegate subclass to reuse the functionality here inside an alternative Container implementation (see eg. use in AbstractRootContainer ).

  • Constructor Details

    • AbstractContainer

      protected AbstractContainer()
  • Method Details

    • getChild

      public org.praxislive.core.Component getChild(String id)
      Specified by:
      getChild in interface org.praxislive.core.Container
    • children

      public Stream<String> children()
      Specified by:
      children in interface org.praxislive.core.Container
    • getAddress

      public org.praxislive.core.ComponentAddress getAddress(org.praxislive.core.Component child)
      Specified by:
      getAddress in interface org.praxislive.core.Container
    • getType

      public org.praxislive.core.ComponentType getType(org.praxislive.core.Component child)
      Specified by:
      getType in interface org.praxislive.core.Container
    • hierarchyChanged

      public void hierarchyChanged()
      Specified by:
      hierarchyChanged in interface org.praxislive.core.Component
      Overrides:
      hierarchyChanged in class AbstractComponent
    • getLookup

      public org.praxislive.core.Lookup getLookup()
      Specified by:
      getLookup in interface org.praxislive.core.Lookup.Provider
      Overrides:
      getLookup in class AbstractComponent
    • write

      public void write(org.praxislive.core.TreeWriter writer)
      Specified by:
      write in interface org.praxislive.core.Component
      Specified by:
      write in interface org.praxislive.core.Container
      Overrides:
      write in class AbstractComponent
    • writeChildren

      protected final void writeChildren(org.praxislive.core.TreeWriter writer)
    • writeConnections

      protected final void writeConnections(org.praxislive.core.TreeWriter writer)
    • addChild

      protected void addChild(String id, org.praxislive.core.Component child) throws org.praxislive.core.VetoException
      Throws:
      org.praxislive.core.VetoException
    • recordChildType

      protected void recordChildType(org.praxislive.core.Component child, org.praxislive.core.ComponentType type)
    • notifyChild

      protected void notifyChild(org.praxislive.core.Component child) throws org.praxislive.core.VetoException
      Throws:
      org.praxislive.core.VetoException
    • removeChild

      protected org.praxislive.core.Component removeChild(String id)
    • getChildID

      protected String getChildID(org.praxislive.core.Component child)
    • connect

      protected void connect(String component1, String port1, String component2, String port2) throws org.praxislive.core.PortConnectionException
      Throws:
      org.praxislive.core.PortConnectionException
    • disconnect

      protected void disconnect(String component1, String port1, String component2, String port2)