NodeInduk

class abstrak publik NodeParent
Subclass Langsung yang Dikenal
Subclass Tidak Langsung yang Diketahui

Class dasar untuk semua class yang dapat berisi kumpulan node sebagai turunan.

Class Node dan Scene adalah NodeParents. Untuk menjadikan Node sebagai turunan Node atau Scene lain, gunakan setParent(NodeParent).

Konstruktor Publik

Metode Publik

final void
addChild(Node turunan)
Menambahkan node sebagai turunan dari NodeParent ini.
void
callOnHierarchy(Konsumen<Node> konsumen)
Jelajahi hierarki dan panggil metode pada setiap node.
Node
findByName(nama String)
Telusuri hierarki untuk menemukan node pertama dengan nama tertentu.
Node
findInHierarchy(Predicate<Node> kondisi)
Telusuri hierarki untuk menemukan node pertama yang memenuhi kondisi.
final List<Node>
getChildren()
Menampilkan daftar yang tidak dapat diubah dari turunan induk ini.
final void
removeChild(Node turunan)
Menghapus node dari turunan NodeParent ini.

Metode yang Dilindungi

boolean
canAddChild(turunan Node, kegagalan kegagalan StringBuilder)
void
onAddChild(Node turunan)
void
onRemoveChild(turunan Node)

Metode Turunan

Konstruktor Publik

publik NodeParent ()

Metode Publik

public final void addChild (Node turunan)

Menambahkan node sebagai turunan dari NodeParent ini. Jika sudah memiliki induk, node akan dihapus dari induknya yang lama. Jika node sudah menjadi turunan langsung dari NodeParent ini, perubahan tidak akan dilakukan.

Parameter
anak node untuk ditambahkan sebagai turunan
Menampilkan
IllegalArgumentException jika turunan adalah objek yang sama dengan induk, atau jika induk tersebut adalah turunan dari turunan

publik void callOnHierarchy (Konsumen<Node> konsumen)

Jelajahi hierarki dan panggil metode pada setiap node. Traversal adalah kedalaman terlebih dahulu. Jika NodeParent ini adalah Node, traversal akan dimulai dengan NodeParent ini, jika tidak, traversal dimulai dengan turunannya.

Parameter
consumer Metode yang akan dipanggil pada setiap node.

publik Node findByName (String name)

Telusuri hierarki untuk menemukan node pertama dengan nama tertentu. Traversal adalah kedalaman terlebih dahulu. Jika NodeParent ini adalah Node, traversal akan dimulai dengan NodeParent ini, jika tidak, traversal akan dimulai dengan turunannya.

Parameter
nama Nama node yang akan ditemukan
Hasil
  • node jika ditemukan, jika tidak, null

publik Node findInHierarchy (Predicate<Node> condition)

Telusuri hierarki untuk menemukan node pertama yang memenuhi kondisi. Traversal adalah kedalaman terlebih dahulu. Jika NodeParent ini adalah Node, traversal akan dimulai dengan NodeParent ini, jika tidak, traversal dimulai dengan turunannya.

Parameter
kondisi predikat mendefinisikan kondisi node yang akan ditelusuri.
Hasil
  • node pertama yang cocok dengan kondisi predikat, jika tidak, null akan ditampilkan

publik final Daftar<Node> getChildren ()

Menampilkan daftar yang tidak dapat diubah dari turunan induk ini.

public final void removeChild (Node turunan)

Menghapus node dari turunan NodeParent ini. Jika node bukan turunan langsung dari NodeParent ini, perubahan tidak akan dilakukan.

Parameter
anak node untuk dihapus dari turunan

Metode yang Dilindungi

boolean yang dilindungi canAddChild (Node turunan, StringBuilder failedReason)

Parameter
anak
kegagalanAlasan

dilindungi void onAddChild (Node turunan)

Parameter
anak

dilindungi void onRemoveChild (Node turunan)

Parameter
anak