2014-08-23 18:45:55 +03:00
|
|
|
package com.iluwatar;
|
|
|
|
|
2014-08-31 11:35:08 +03:00
|
|
|
/**
|
2014-10-08 13:42:12 +01:00
|
|
|
*
|
2014-08-31 11:35:08 +03:00
|
|
|
* Interface for the nodes in hierarchy.
|
|
|
|
*
|
|
|
|
*/
|
2014-08-23 18:45:55 +03:00
|
|
|
public abstract class Unit {
|
|
|
|
|
|
|
|
private Unit[] children;
|
|
|
|
|
2014-10-08 13:42:12 +01:00
|
|
|
public Unit(Unit... children) {
|
2014-08-23 18:45:55 +03:00
|
|
|
this.children = children;
|
|
|
|
}
|
2014-10-08 13:42:12 +01:00
|
|
|
|
2014-08-23 18:45:55 +03:00
|
|
|
public void accept(UnitVisitor visitor) {
|
2014-10-08 13:42:12 +01:00
|
|
|
for (Unit child : children) {
|
2014-08-23 18:45:55 +03:00
|
|
|
child.accept(visitor);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|