public void unregisterPositionListener(@Nonnull String name) { NamedEntry.validateName(name); PositionListenerEntry positionListenerEntry; if (positionListenerEntryByName == null || (positionListenerEntry = positionListenerEntryByName.remove(name)) == null) { throw new IllegalArgumentException("Listener '" + name + "' is not registered."); } positionListenerEntries.remove(positionListenerEntry); }
public void registerPositionListener( @Nonnull PositionListener listener, @Nonnull String name, double priority) { NamedEntry.validateName(name); if (positionListenerEntryByName == null) { positionListenerEntryByName = new HashMap<>(1); positionListenerEntries = new TreeSet<>(PositionListenerEntry.comparator); } else if (positionListenerEntryByName.containsKey(name)) { throw new IllegalArgumentException("Listener '" + name + "' is already registered."); } PositionListenerEntry positionListenerEntry = new PositionListenerEntry(name, priority, listener); positionListenerEntryByName.put(name, positionListenerEntry); positionListenerEntries.add(positionListenerEntry); }
public boolean hasPositionListener(@Nonnull String name) { NamedEntry.validateName(name); return positionListenerEntryByName != null && positionListenerEntryByName.containsKey(name); }