[attributes] Introduce attributes extensions
This commit is contained in:
@@ -15,6 +15,9 @@ public interface TweedExtension {
|
||||
default void extensionsFinalized() {
|
||||
}
|
||||
|
||||
default void initialize() {
|
||||
}
|
||||
|
||||
default void initEntry(ConfigEntry<?> configEntry) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,6 +217,10 @@ public class DefaultConfigContainer<T> implements ConfigContainer<T> {
|
||||
public void initialize() {
|
||||
requireSetupPhase(ConfigContainerSetupPhase.TREE_ATTACHED);
|
||||
|
||||
for (TweedExtension extension : extensions()) {
|
||||
extension.initialize();
|
||||
}
|
||||
|
||||
assert rootEntry != null;
|
||||
rootEntry.visitInOrder(entry -> {
|
||||
for (TweedExtension extension : extensions()) {
|
||||
|
||||
@@ -9,6 +9,13 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class AcyclicGraphSorterTest {
|
||||
|
||||
@Test
|
||||
void trivialSort() {
|
||||
AcyclicGraphSorter sorter = new AcyclicGraphSorter(2);
|
||||
sorter.addEdge(0, 1);
|
||||
assertArrayEquals(new int[]{ 0, 1 }, assertDoesNotThrow(sorter::sort));
|
||||
}
|
||||
|
||||
@Test
|
||||
void sort1() {
|
||||
AcyclicGraphSorter sorter = new AcyclicGraphSorter(4);
|
||||
@@ -73,4 +80,4 @@ class AcyclicGraphSorterTest {
|
||||
AcyclicGraphSorter.GraphCycleException exception = assertThrows(AcyclicGraphSorter.GraphCycleException.class, sorter::sort);
|
||||
assertEquals(Arrays.asList(0, 1), exception.cycleIndeces());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user