package io.muoncore.protocol.reactivestream.server;
import java.util.*;
public class DefaultPublisherLookup implements PublisherLookup {
private Map<String, PublisherRecord> publishers = new HashMap<>();
@Override
public Optional<PublisherRecord> lookupPublisher(String name) {
return Optional.ofNullable(publishers.get(name));
}
@Override
public List<PublisherRecord> getPublishers() {
return new ArrayList<>(publishers.values());
}
@Override
public void addPublisher(PublisherRecord publisherRecord) {
String name = publisherRecord.getName();
if (!name.startsWith("/")) {
name = "/" + name;
}
publishers.put(name, publisherRecord);
}
}