All Downloads are FREE. Search and download functionalities are using the official Maven repository.

impl.trees.DefaultImmutableTree Maven / Gradle / Ivy

The newest version!
package impl.trees;

import api.Node;
import api.Tree;
import impl.nodes.ImmutableNode;

import javax.swing.event.TreeModelListener;
import java.util.ArrayList;
import java.util.Collection;

/**
 * Created by chief on 04.07.17.
 */
public class DefaultImmutableTree implements Tree {
    private final Node node;
    private final Collection listeners = new ArrayList<>();

    public DefaultImmutableTree(ImmutableNode node) {
        assert node != null;
        this.node = node;
    }

    @Override
    public Node getTreeRoot() {
        return node;
    }

    @Override
    public Collection getListeners() {
        return new ArrayList<>(listeners);
    }

    @Override
    public void addTreeModelListener(TreeModelListener treeModelListener) {
        assert treeModelListener != null;
        listeners.add(treeModelListener);
    }

    @Override
    public void removeTreeModelListener(TreeModelListener treeModelListener) {
        assert treeModelListener != null;
        listeners.remove(treeModelListener);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy