Register a {@link GeometryMergeStartHandler} to listen to events that signal the merging process has started.

@param handler
The {@link GeometryMergeStartHandler} to add as listener.
@return The registration of the handler.
976513
public JsHandlerRegistration addGeometryMergeStartHandler(final GeometryMergeStartHandler handler) {
		org.geomajas.plugin.editing.client.merge.event.GeometryMergeStartHandler h;
		h = new org.geomajas.plugin.editing.client.merge.event.GeometryMergeStartHandler() {

			public void onGeometryMergingStart(GeometryMergeStartEvent event) {
				org.geomajas.plugin.editing.jsapi.client.merge.event.GeometryMergeStartEvent e;
				e = new org.geomajas.plugin.editing.jsapi.client.merge.event.GeometryMergeStartEvent();
				handler.onGeometryMergeStart(e);
			}
		};
		HandlerRegistration registration = delegate.addGeometryMergeStartHandler(h);
		return new JsHandlerRegistration(new HandlerRegistration[] { registration });
	}
41320
public static ConnectionHandler register(final String id, 
                                             final ConnectionHandler handler) {

        if (id == null || id.length() == 0) {
            throw new IllegalArgumentException("Invalid ID: " + id);
        } // end of if

        if (handler == null) {
            throw new IllegalArgumentException("Invalid handler: " + handler);
        } // end of if

        // ---

        return handlers.put(id, handler);
    }
110697
@Nonnull
  public final HandlerRegistration addMessageHandler( @Nonnull final MessageEvent.Handler handler )
  {
    return _eventBus.addHandler( MessageEvent.getType(), handler );
  }
1058479
public B handler(ChannelHandler handler) {
        if (handler == null) {
            throw new NullPointerException("handler");
        }
        this.handler = handler;
        return self();
    }
890626
protected synchronized void addShapeGeometryChangeListener(ShapeGeometryChangeListener listener) {
		assert listener != null : AssertMessages.notNullParameter();
		if (this.geometryListeners == null) {
			this.geometryListeners = new WeakArrayList<>();
		}
		this.geometryListeners.add(listener);
	}
904845
public <H extends EventHandler> HandlerRegistration addHandler(GwtEvent.Type<H> type, final H handler) {
		if (type != null && handler != null) {
			return new LegacyHandlerWrapper(this.eventBus.addHandler(type, handler));
		}
		return null;
	}
486154
@Override
	public HandlerRegistration addGeometryIndexSelectedHandler(GeometryIndexSelectedHandler handler) {
		return editingService.getEventBus().addHandler(GeometryIndexSelectedHandler.TYPE, handler);
	}
650348
@Api
	public final HandlerRegistration addMapModelHandler(final MapModelHandler handler) {
		return handlerManager.addHandler(MapModelEvent.TYPE, handler);
	}
445573
public JsHandlerRegistration addGeometryEditMoveHandler(final GeometryEditMoveHandler handler) {
		org.geomajas.plugin.editing.client.event.GeometryEditMoveHandler h;
		h = new org.geomajas.plugin.editing.client.event.GeometryEditMoveHandler() {

			public void onGeometryEditMove(GeometryEditMoveEvent event) {
				List<GeometryIndex> indices = event.getIndices();
				handler.onGeometryEditMove(new org.geomajas.plugin.editing.jsapi.client.event.GeometryEditMoveEvent(
						event.getGeometry(), indices.toArray(new GeometryIndex[indices.size()])));
			}
		};
		HandlerRegistration registration = delegate.addGeometryEditMoveHandler(h);
		return new JsHandlerRegistration(new HandlerRegistration[] { registration });
	}
1001381
private void merge(final GeometryFunction callback) {
		GeometryOperationService operationService = new GeometryOperationServiceImpl();
		UnionInfo unionInfo = new UnionInfo();
		unionInfo.setUsePrecisionAsBuffer(true);
		unionInfo.setPrecision(precision);
		operationService.union(geometries, unionInfo, new Callback<Geometry, Throwable>() {

			public void onSuccess(Geometry result) {
				callback.execute(result);
			}

			public void onFailure(Throwable reason) {
				reason.printStackTrace();
			}
		});
	}
1338272
public void registerArtefactHandler(ArtefactHandler handler) {
        GrailsApplicationAwareBeanPostProcessor.processAwareInterfaces(this, handler);
        artefactHandlersByName.put(handler.getType(), handler);
        updateArtefactHandlers();
    }
917572
public JsHandlerRegistration addGeometryIndexDeselectedHandler(final GeometryIndexDeselectedHandler handler) {
		org.geomajas.plugin.editing.client.event.state.GeometryIndexDeselectedHandler h;
		h = new org.geomajas.plugin.editing.client.event.state.GeometryIndexDeselectedHandler() {

			public void onGeometryIndexDeselected(GeometryIndexDeselectedEvent event) {
				org.geomajas.plugin.editing.jsapi.client.event.state.GeometryIndexDeselectedEvent e;
				List<GeometryIndex> indices = event.getIndices();
				e = new org.geomajas.plugin.editing.jsapi.client.event.state.GeometryIndexDeselectedEvent(
						event.getGeometry(), indices.toArray(new GeometryIndex[indices.size()]));
				handler.onGeometryIndexDeselected(e);
			}
		};
		return new JsHandlerRegistration(new HandlerRegistration[] { delegate.addGeometryIndexDeselectedHandler(h) });
	}
509565
public void addHandler(CacheMissHandler handler) {
		if(handler != null) {
			logger.debug("adding handler of class '{}'", handler.getClass());
			handlers.add(handler);
		}
	}
1060881
public HandlerRegistration setLocationNotFoundHandler(LocationNotFoundHandler handler) {
		if (handlerManager.getHandlerCount(LocationNotFoundHandler.TYPE) > 0) {
			LocationNotFoundHandler previous = handlerManager.getHandler(LocationNotFoundHandler.TYPE, 0);
			handlerManager.removeHandler(LocationNotFoundHandler.TYPE, previous);
		}
		return handlerManager.addHandler(LocationNotFoundHandler.TYPE, handler);
	}
963700
@Override
	public HandlerRegistration addGeometryIndexMarkForDeletionBeginHandler(
			GeometryIndexMarkForDeletionBeginHandler handler) {
		return editingService.getEventBus().addHandler(GeometryIndexMarkForDeletionBeginHandler.TYPE, handler);
	}
754231
final void addHandler(final HttpHandler handler) {
    if (handler != null) {
      if (!eventHandlers.containsKey(handler.getUriSpecification().toLowerCase())) {
        eventHandlers.put(handler.getUriSpecification().toLowerCase(), handler);
      } else {
        LOG.log(Level.WARNING, "JettyHandler handle is already registered: {0} ", handler.getUriSpecification());
      }
    }
  }
1100521
public void registerServiceHandler(String name, Object handler) {
        Map<String, Object> serviceHandlers = getServiceHandlers();
        serviceHandlers.put(name, handler);
    }