Универсальный класс Java для узлов графа - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть небольшая проблема, чтобы потушить.Мне нужен класс / несколько классов, которые могут удовлетворить эти требования:

  • Содержит идентификатор строки
  • Содержит функцию, которая имеет параметры различных типов и даже возвращает значения ((String, String) -> Object Message - (String, List) -> Obj Message - (String, String) -> Boolean ...)
  • Имеет жестко запрограммированный параметр, который отображает класс в другой (Props.create (otherclass))

Мне нужен некоторый абстрактный класс или интерфейс, поскольку объект представляет узлы графа, поэтому они должны иметь один и тот же тип.

Эточто пришло мне в голову до сих пор:

public abstract class UserNode <K, V, R>{

private String Id;

private UserFunction<K, V, R> f;

private Props props;

public UserNode(String id, UserFunction<K,V,R> f, Props props) {
    this.Id = id;
    this.f = f;
    this.props = props;
}}


public class MapNode extends UserNode {

public MapNode(String Id, UserFunction<String, String, Message> f){
    super(Id, f, Props.create(MapProcessor.class));
}}


public interface UserFunction <K, V, R> {
R process(K key, V value);
}
...