list.linkedlist

## Class LinkedListWithTrailer

- java.lang.Object
- - list.listinterface.BaseList
  - - list.linkedlist.LinkedListWithPostponedItem
    - - list.linkedlist.LinkedListWithTrailer

- All Implemented Interfaces:
    BaseListInterface, CommonBase, List, QueueList, StackList

      class LinkedListWithTrailer
      extends LinkedListWithPostponedItem
      implements List, QueueList, StackList

  Implementace seznamu s prvkem vlečeným za běžným prvken.

  Popis: Položka trailer odkazuje na předchůdce běžného prvku. Na začátku seznamu je proto fiktivní prvek.

  Užití: instance této třídy lze používat v aplikacích

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private LinkedListMember` | `current` odkaz na běžný člen seznamu

    - ### Fields inherited from class list.linkedlist.LinkedListWithPostponedItem

      `count, currentIndex, fictive, prevLast, size, trailer`

    - ### Fields inherited from class list.listinterface.BaseList

      `moveCounter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LinkedListWithTrailer(int aSize)` vyrobí instanci seznamu s prvkem vlečeným za běžným prvken.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `append(Element elem)` Vloží elem za poslední prvek seznamu, běžný prvek se neposune.
    `Element` | `getElement()` Vrátí hodnotu běžného prvku.
    `void` | `insert(Element elem)` Vloží elem před běžný prvek.
    `void` | `moveFirst()` Učiní hlavu seznamu běžným prvkem.
    `void` | `moveLast()` Učiní ocas běžným prvkem.
    `void` | `moveNext()` Učiní následující prvek běžným prvkem.
    `Element` | `remove()` Odstraní běžný prvek.
    `void` | `setElement(Element value)` Nastaví hodnotu běžného prvku do členu datové struktury.

    - ### Methods inherited from class list.linkedlist.LinkedListWithPostponedItem

      `getSize, isEmpty, isFirst, isLast, movePrev, moveTo`

    - ### Methods inherited from class list.listinterface.BaseList

      `getMoveCounter, resetMoveCounter`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface list.listinterface.List

      `isFirst, isLast, movePrev, moveTo`

    - ### Methods inherited from interface list.listinterface.BaseListInterface

      `getSize`

    - ### Methods inherited from interface list.listinterface.CommonBase

      `getMoveCounter, resetMoveCounter`

- - ### Field Detail

    - #### current

          private LinkedListMember current

      odkaz na běžný člen seznamu

  - ### Constructor Detail

    - #### LinkedListWithTrailer

          public LinkedListWithTrailer(int aSize)

      vyrobí instanci seznamu s prvkem vlečeným za běžným prvken.
      Parameters:
        `aSize` - kapacita seznamu

  - ### Method Detail

    - #### setElement

          public void setElement(Element value)

      Description copied from interface: `CommonBase`
      Nastaví hodnotu běžného prvku do členu datové struktury.

      Vyžaduje: not isEmpty

      Specified by:
        `setElement` in interface `CommonBase`
      Overrides:
        `setElement` in class `LinkedListWithPostponedItem`
      Parameters:
        `value` - prvek, který má být uložen do členu

    - #### getElement

          public Element getElement()

      Description copied from interface: `CommonBase`
      Vrátí hodnotu běžného prvku.

      Vyžaduje: not isEmpty

      Specified by:
        `getElement` in interface `CommonBase`
      Overrides:
        `getElement` in class `LinkedListWithPostponedItem`
      Returns:
        hodnota běžného prvku

    - #### insert

          public void insert(Element elem)

      Description copied from interface: `List`
      Vloží elem před běžný prvek.

      Vyžaduje: not isFull

      Specified by:
        `insert` in interface `List`
      Specified by:
        `insert` in interface `StackList`
      Overrides:
        `insert` in class `LinkedListWithPostponedItem`
      Parameters:
        `elem` - prvek, který má být vložen

    - #### append

          public void append(Element elem)

      Description copied from interface: `QueueList`
      Vloží elem za poslední prvek seznamu, běžný prvek se neposune.

      Vyžaduje: not IsFull

      Specified by:
        `append` in interface `QueueList`
      Overrides:
        `append` in class `LinkedListWithPostponedItem`
      Parameters:
        `elem` - nový prvek, který se má přidat na konec seznamu

    - #### remove

          public Element remove()

      Description copied from interface: `BaseListInterface`
      Odstraní běžný prvek.

      Vyžaduje: not isEmpty

      Splní: not isFull

      Specified by:
        `remove` in interface `BaseListInterface`
      Overrides:
        `remove` in class `LinkedListWithPostponedItem`
      Returns:
        odstraněný běžný prvek

    - #### moveFirst

          public void moveFirst()

      Description copied from interface: `BaseListInterface`
      Učiní hlavu seznamu běžným prvkem.

      Vyžaduje: not isEmpty

      Specified by:
        `moveFirst` in interface `BaseListInterface`
      Overrides:
        `moveFirst` in class `LinkedListWithPostponedItem`

    - #### moveLast

          public void moveLast()

      Description copied from interface: `List`
      Učiní ocas běžným prvkem.

      Vyžaduje: not isEmpty

      Specified by:
        `moveLast` in interface `List`
      Overrides:
        `moveLast` in class `LinkedListWithPostponedItem`

    - #### moveNext

          public void moveNext()

      Description copied from interface: `List`
      Učiní následující prvek běžným prvkem.

      Vyžaduje: not isEmpty and not isLast

      Specified by:
        `moveNext` in interface `List`
      Overrides:
        `moveNext` in class `LinkedListWithPostponedItem`