# Kõigi andmestruktuuride skriptimise API

## Abstraktne andmestruktuuri objekt

Abstraktne andmestruktuur defineerib andmeelementide kogumi ja nendevahelised võimalikud ühendused. See on kõigi andmestruktuuride prototüüp. Andmestruktuure identifitseeritakse nime järgi. Oletame, et lõid andmestruktuuri nimega `testgraph`. Sel juhul saad andmestruktuuri kasutada lihtsalt seda identifikaatorit kirjutades. Näiteks antud andmestruktuuri kõigi andmeelementide massiivi saamiseks tuleb skripti kirjutada: `testgraph.list_nodes();`.

### Omadused

- name :

  Andmestruktuuri unikaalne nimi.

## Abstraktsed andmed

Abstraktne andmeelement on infoüksus, mis kuulub abstraktsele andmestruktuurile ja võib olla ühendatud teiste andmeelementidega viitade abil.

### Omadused

- width :

  Andmeelemendi suurus.

- x :

  Andmeelemendi X-koordinaat.

- y :

  Andmeelemendi Y-koordinaat.

- id :

  Andmeelemendi unikaalne identifikaator.

- color :

  Andmeelemendi värv kuueteistkümnendkoodis väärtusena.

## Abstraktne viit

Viit ühendab kaht andmeelementi ja võib ise enda omaduste kujul sisaldada teavet.

### Omadused

- width :

  Ühenduse laius.

- directed :

  Kui see on tõene, on ühendus orienteeritud, vastasel juhul orienteerimata.

- from :

  Ühenduse algus.

- to :

  Ühenduse lõpp.

- color :

  Ühenduse tüübi ID.

### Meetodid

remove()

  Ühenduse eemaldamine.

      void remove

add_property(nimi, väärtus)

  Uue omaduse lisamine ühendusele.

      void add_property string nimi string väärtus

remove_property(nimi)

  Olemasoleva omaduse eemaldamine ühenduselt.

      void remove_property string nimi