alchemist-interfaces / it.unibo.alchemist.model.interfaces / Neighborhood

Neighborhood

interface Neighborhood<T : Any!> : Serializable, Cloneable, MutableIterable<Node<T>!>

The type which describes the concentration of a molecule Interface for a neighborhood. When implementing it in a real class, please remember to correctly implement also the equals method inherited from Object.

Functions

add

abstract fun add(node: Node<T>!): Neighborhood<T>!

contains

Verifies if a node is contained inside a neighborhood.

abstract fun contains(n: Node<T>!): Boolean

getCenter

Allows to access the central node.

abstract fun getCenter(): Node<T>!

getNeighborByNumber

Returns the num-th neighbor.

abstract fun getNeighborByNumber(num: Int): Node<T>!

getNeighbors

Allows to directly access every node in the neighborhood. A change of this List will be reflected in the neighborhood.

abstract fun getNeighbors(): ListSet<out Node<T>!>!

isEmpty

abstract fun isEmpty(): Boolean

remove

abstract fun remove(node: Node<T>!): Neighborhood<T>!

size

abstract fun size(): Int