Package org.freeplane.api

# Interface IconsRO

All Known Subinterfaces:
  `Icons`, `Proxy.Icons`, `Proxy.IconsRO`

public interface IconsRO
Node's icons: `node.icons` - read-only.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `contains(String name)`
  returns true if the node has an icon of this name.
  `String`
  `getAt(int index)`
  returns the name of the icon at the given index (starting at 0) or null if `index >= size`.
  `String`
  `getFirst()`
  returns the name of the first icon if the node has an icon assigned or null otherwise.
  `List<String>`
  `getIcons()`
  returns a read-only list of the names of the icons the node has.
  `List<URL>`
  `getUrls()`
  returns a list of the urls of the icons the node has.
  `Iterator<String>`
  `iterator()`
  allows application of Groovy collection methods like each(), collect(), ...
  `int`
  `size()`
  returns the number of icons the node has.

- ## Method Details

  - ### getAt

    String getAt(int index)
    returns the name of the icon at the given index (starting at 0) or null if `index >= size`. Use it like this:

           def secondIconName = node.icons[1]

    Since:
      1.2

  - ### getFirst

    String getFirst()
    returns the name of the first icon if the node has an icon assigned or null otherwise. Equivalent: `node.icons[0]`.
    Since:
      1.2

  - ### contains

    boolean contains(String name)
    returns true if the node has an icon of this name.
    Since:
      1.2

  - ### size

    int size()
    returns the number of icons the node has.
    Since:
      1.2

  - ### getIcons

    List<String> getIcons()
    returns a read-only list of the names of the icons the node has. Think twice before you use this method since it leads to ugly code, e.g. use `node.icons.first` or `node.icons[0]` instead of `node.icons.icons[0]`. Perhaps you could also use iteration over icons, see.

  - ### getUrls

    List<URL> getUrls()
    returns a list of the urls of the icons the node has.

  - ### iterator

    Iterator<String> iterator()
    allows application of Groovy collection methods like each(), collect(), ...

           def freeIcons = node.icons.findAll { it.startsWith('free') }

    Since:
      1.3.2