Class ListOperation

java.lang.Object
com.vaadin.collaborationengine.ListOperation

public class ListOperation extends Object
A list operation providing details such as the operation type, related properties and conditions that should be met for the operation to succeed.
Author:
Vaadin Ltd
  • Method Details

    • insertFirst

      public static ListOperation insertFirst(Object value)
      Creates a list operation to insert the given value as the first item of the list.
      Parameters:
      value - the value, not null
      Returns:
      the list operation, not null
    • insertLast

      public static ListOperation insertLast(Object value)
      Creates a list operation to insert the given value as the last item of the list.
      Parameters:
      value - the value, not null
      Returns:
      the list operation, not null
    • insertBefore

      public static ListOperation insertBefore(ListKey before, Object value)
      Creates a list operation to insert the given value just before the position specified by the given key.
      Parameters:
      before - the position key, not null
      value - the value, not null
      Returns:
      the list operation, not null
    • insertAfter

      public static ListOperation insertAfter(ListKey after, Object value)
      Creates a list operation to insert the given value just after the position specified by the given key.
      Parameters:
      after - the position key, not null
      value - the value, not null
      Returns:
      the list operation, not null
    • insertBetween

      public static ListOperation insertBetween(ListKey prev, ListKey next, Object value)
      Creates a list operation to insert the given value between the positions specified by the given keys. If the given keys are not adjacent, the operation will fail.
      Parameters:
      prev - the position of the previous item, not null
      next - the position of the next item, not null
      value - the value, not null
      Returns:
      the list operation, not null
    • moveBefore

      public static ListOperation moveBefore(ListKey before, ListKey entry)
      Creates a list operation to move the given entry to just before the position specified by the given key.
      Parameters:
      before - the position key, not null
      entry - the entry key to move, not null
      Returns:
      the list operation, not null
    • moveAfter

      public static ListOperation moveAfter(ListKey after, ListKey entry)
      Creates a list operation to move the given entry to just after the position specified by the given key.
      Parameters:
      after - the position key, not null
      entry - the entry key to move, not null
      Returns:
      the list operation, not null
    • moveBetween

      public static ListOperation moveBetween(ListKey prev, ListKey next, ListKey entry)
      Creates a list operation to move the given entry between the positions specified by the given keys. If the given keys are not adjacent, the operation will fail.
      Parameters:
      prev - the position of the previous item, not null
      next - the position of the next item, not null
      entry - the entry key to move, not null
      Returns:
      the list operation, not null
    • set

      public static ListOperation set(ListKey key, Object value)
      Creates a list operation to set the given value at the position specified by the given key. By default, the value will be set as topic scope.
      Parameters:
      key - the position key, not null
      value - the value
      Returns:
      the list operation, not null
    • delete

      public static ListOperation delete(ListKey key)
      Creates a list operation to delete the value at the position specified by the given key.
      Parameters:
      key - the position key, not null
      Returns:
      the list operation, not null
    • withScope

      public ListOperation withScope(EntryScope scope)
      Sets the scope of the item affected by this operation. If not set, the default scope will be EntryScope.TOPIC. Values with EntryScope.CONNECTION scope will be automatically removed once the connection to the topic which created them is deactivated.
      Parameters:
      scope - the scope, not null
      Returns:
      this operation, not null
    • ifNext

      public ListOperation ifNext(ListKey key, ListKey nextKey)
      Adds a condition that requires the specified nextKey to be right after the specified key when the operation is applied. A null nextKey can be used to represent the tail of the list.
      Parameters:
      key - the reference key, not null
      nextKey - the required key, or null to represent the tail of the list
      Returns:
      this operation, not null
    • ifLast

      public ListOperation ifLast(ListKey key)
      Adds a condition that requires the specified key to be the last in the list.
      Parameters:
      key - the key, not null
      Returns:
      this operation, not null
    • ifPrev

      public ListOperation ifPrev(ListKey key, ListKey prevKey)
      Adds a condition that requires the specified prevKey to be right before the specified key when the operation is applied. A null prevKey can be used to represent the head of the list.
      Parameters:
      key - the reference key, not null
      prevKey - the required key, or null to represent the head of the list
      Returns:
      this operation, not null
    • ifFirst

      public ListOperation ifFirst(ListKey key)
      Adds a condition that requires the specified key to be the first in the list.
      Parameters:
      key - the key, not null
      Returns:
      this operation, not null
    • ifEmpty

      public ListOperation ifEmpty()
      Adds a condition that requires the list to be empty.
      Returns:
      this operation, not null
    • ifNotEmpty

      public ListOperation ifNotEmpty()
      Adds a condition that requires the list not to be empty.
      Returns:
      this operation, not null
    • ifValue

      public ListOperation ifValue(ListKey key, Object value)
      Add a condition that requires the specified key to have the specified value.
      Parameters:
      key - the key, not null
      value - the expected value
      Returns:
      this operation, not null