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

com.cedarsoft.utils.ChildDetector Maven / Gradle / Ivy

The newest version!
package com.cedarsoft.utils;

import org.jetbrains.annotations.NotNull;

import java.util.List;

/**
 * Implementations detect all children of an element that shall be added to the recursion
 * P: The type of the Parent
 * C: The type of the children
 * Z: The type of the context
 */
public interface ChildDetector {
  /**
   * Finds the children for the given parent
   *
   * @param parent the parent
   * @return the children
   */
  @NotNull
  List findChildren( @NotNull P parent );

  /**
   * Registers a change listener that is notified when the child detector changes its children
   */
  void addChangeListener( @NotNull ChildChangeListener

changeListener ); /** * Removes the change listener * * @param changeListener the change listener that is removed */ void removeChangeListener( @NotNull ChildChangeListener

changeListener ); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy