Class SlotHandle

java.lang.Object
org.eclipse.birt.report.model.api.ElementDetailHandle
org.eclipse.birt.report.model.api.SlotHandle

public class SlotHandle extends ElementDetailHandle
Represents a "slot" within an element. A slot holds a collection of report items.
  • Field Details

    • slotID

      protected int slotID
      The numeric identifier of the slot.
  • Constructor Details

    • SlotHandle

      public SlotHandle(DesignElementHandle element, int slotID)
      Constructs a handle for the slot with the given design element handle and the id of the slot. The application generally does not create a slot handle directly. Instead, it calls the getSlot( ) method on an element handle, or one of the specific methods on the handle for an element that is a container.
      Parameters:
      element - handle to the report element
      slotID - the numeric identifier of the slot
  • Method Details

    • add

      public void add(DesignElementHandle content) throws ContentException, NameException
      Adds a report item to the slot with the given element handle. The report item must not be newly created and not yet added to the design.
      Parameters:
      content - handle to the newly created element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • add

      public void add(DesignElementHandle content, int newPos) throws ContentException, NameException
      Adds a report item to the slot at the given position. The item must not be newly created and not yet added to the design.
      Parameters:
      content - handle to the newly created element
      newPos - the position index at which the content to be inserted
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • add

      @Deprecated public void add(org.eclipse.birt.report.model.core.DesignElement content) throws ContentException, NameException
      Deprecated.
      Adds a report item to the slot. The item must not be newly created and not yet added to the design.
      Parameters:
      content - the newly created element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • add

      @Deprecated public void add(org.eclipse.birt.report.model.core.DesignElement content, int newPos) throws ContentException, NameException
      Deprecated.
      Adds a report item to the slot. The item must not be newly created and not yet added to the design.
      Parameters:
      content - the newly created element
      newPos - the position index at which the content to be inserted.
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • paste

      public List paste(DesignElementHandle content) throws ContentException, NameException
      Pastes a report item to the slot. The item must be newly created and not yet added to the design.
      Parameters:
      content - the newly created element handle
      Returns:
      a list containing all errors for the pasted element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • paste

      public List paste(IDesignElement content) throws ContentException, NameException
      Pastes a report item to the slot. The item must be newly created and not yet added to the design.
      Parameters:
      content - the newly created element
      Returns:
      a list containing all errors for the pasted element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • paste

      public List paste(DesignElementHandle content, int newPos) throws ContentException, NameException
      Pastes a report item to the slot. The item must be newly created and not yet added to the design.
      Parameters:
      content - the newly created element handle
      newPos - the position index at which the content to be inserted.
      Returns:
      a list containing all errors for the pasted element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • paste

      public List paste(IDesignElement content, int newPos) throws ContentException, NameException
      Pastes a report item to the slot. The item must be newly created and not yet added to the design.
      Parameters:
      content - the newly created element
      newPos - the position index at which the content to be inserted.
      Returns:
      a list containing all errors for the pasted element
      Throws:
      ContentException - if the element is not allowed in the slot
      NameException - if the element has a duplicate or illegal name
    • iterator

      public Iterator<DesignElementHandle> iterator()
      Gets an iterator over the items in the slot.
      Returns:
      an iterator over the items in the slot. The iterator is of type SlotIteratorand each item returned by the iterator's getNext( ) method is of type DesignElementHandle.
    • getContents

      public List<DesignElementHandle> getContents()
      Returns the a list with slot contents.Items are handles to the contents and in order by position.
      Returns:
      a list with slot contents, items of the list are handles to the contents.
    • getCount

      public int getCount()
      Returns the number of elements in the slot.
      Returns:
      the count of contents in the slot
    • get

      public DesignElementHandle get(int posn)
      Returns a handle to the content element at the given position.
      Parameters:
      posn - the position within the slot
      Returns:
      a handle to the content element
    • shift

      public void shift(DesignElementHandle content, int toPosn) throws ContentException
      Moves the position of a content element within the slot.
      Parameters:
      content - handle to the content to move
      toPosn - the new position
      Throws:
      ContentException - if the content is not in the slot, or if the to position is not valid.
    • move

      public void move(DesignElementHandle content, DesignElementHandle newContainer, int toSlot) throws ContentException
      Moves a content element into a slot in another container element.
      Parameters:
      content - a handle to the element to move
      newContainer - a handle to the new container element
      toSlot - the target slot ID where the element will be moved to.
      Throws:
      ContentException - if the content is not in this slot or if the new container is not, in fact, a container, or if the content cannot go into the target slot.
    • move

      public void move(DesignElementHandle content, DesignElementHandle newContainer, int toSlot, int newPos) throws ContentException
      Moves a content element into a slot in another container element at the specified position.
      Parameters:
      content - a handle to the element to move
      newContainer - a handle to the new container element
      toSlot - the target slot ID where the element will be moved to.
      newPos - the position to which the content will be moved. If it is greater than the current size of the target slot, the content will be appended at the end of the target slot.
      Throws:
      ContentException - if the content is not in this slot or if the new container is not, in fact, a container, or if the content cannot go into the target slot.
    • dropAndClear

      public void dropAndClear(DesignElementHandle content) throws SemanticException
      Drops a content element from the slot, and clear any reference property which refers the element to drop.
      Parameters:
      content - a handle to the content to drop
      Throws:
      SemanticException - if the content is not within the slot
    • drop

      public void drop(DesignElementHandle content) throws SemanticException
      Drops a content element from the slot, and unresolve any reference property which refers the element to drop.
      Parameters:
      content - a handle to the content to drop
      Throws:
      SemanticException - if the content is not within the slot
    • dropAndClear

      public void dropAndClear(int posn) throws SemanticException
      Drops a content element at the given position from the slot, and clear any reference property which refers the element to drop.
      Parameters:
      posn - the position of the content to drop
      Throws:
      SemanticException - if the position is out of range
    • drop

      public void drop(int posn) throws SemanticException
      Drops a content element at the given position from the slot, and unresolve any reference property which refers the element to drop.
      Parameters:
      posn - the position of the content to drop
      Throws:
      SemanticException - if the position is out of range
    • getSlot

      public org.eclipse.birt.report.model.core.ContainerSlot getSlot()
      Returns the internal representation of the slot. Use this object only for reading: make all changes through this handle.
      Returns:
      the internal representation of the slot
    • findPosn

      public int findPosn(DesignElementHandle content)
      Returns the position of the given content in this slot.
      Parameters:
      content - the content to look up
      Returns:
      Zero-based index of the element. Returns -1 if the content is not found
    • getSlotID

      public int getSlotID()
      Returns the numeric identifier of the slot.
      Returns:
      The numeric identifier of the slot.
    • canContain

      public boolean canContain(String type)
      Determines if the slot can contain an element with the type of type. Even return value is true, doesn't mean the element can be added/moved without exceptions.
      Parameters:
      type - the name of the element type, like "Table", "List", etc.
      Returns:
      true if the slot can contain the an element with type type, otherwise false.
    • canContain

      public boolean canContain(DesignElementHandle content)
      Determines if the given slot can contain the content. Even return value is true, doesn't mean the element can be added/moved without exceptions.
      Parameters:
      content - the design element handle to check
      Returns:
      true if the slot with the given slotId can contain the content, otherwise false.
    • getDefn

      public ISlotDefn getDefn()
      Returns the definition of the current slot.
      Returns:
      the definition of the slot