Interface IEditableContent

All Known Implementing Classes:
BufferedResourceNode, DocumentRangeNode, ResourceNode, StructureRootNode

public interface IEditableContent
Common interface for objects with editable contents. Typically it is implemented by objects that also implement the IStreamContentAccessor interface.

Clients may implement this interface.

Note that implementing IEditableContent does not automatically mean that it is editable. An object is only editable if it implements IEditableContent and the isEditable method returns true.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if this object can be modified.
    This method is called on a parent to add or remove a child, or to copy the contents of a child.
    void
    setContent(byte[] newContent)
    Replaces the current content with the given new bytes.
  • Method Details

    • isEditable

      boolean isEditable()
      Returns true if this object can be modified. If it returns false the other methods of this API must not be called.
      Returns:
      true if this object can be modified
    • setContent

      void setContent(byte[] newContent)
      Replaces the current content with the given new bytes.
      Parameters:
      newContent - this new contents replaces the old contents
    • replace

      This method is called on a parent to add or remove a child, or to copy the contents of a child. What to do is encoded in the two arguments as follows:
      add: dest == null src != null
      remove: dest != null src == null
      copy: dest != null src != null
      Parameters:
      dest - the existing child of this object to be replaced; if null a new child can be added.
      src - the new child to be added or replaced; if null an existing child can be removed.
      Returns:
      the argument dest