package org.apache.maven.diagrams.connector_api; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ /** * It is listening manager for one (single thread) session. It allows to register listener and to start raising events * from the connector to the listener. * * @author <a href="mailto:ptab@newitech.com">Piotr Tabor</a> * @version $Id$ * */ public interface DynamicDiagramConnector { /** * Sets single listener * * @param listener */ public void setGraphListener( GraphListener listener ); /** * The method should be call once before "start". * * It prepares everything to raising the events. * * @param config */ public void prepare( ConnectorConfiguration config ); /** * Starts (in a new thread) sending events to the listener */ public void start(); /** * It stops the thread that is sending events to the listener/ * * @throws IllegalStateException */ public void interrupt() throws InterruptedException; /** * Wait's until the "events sender thread" is finished */ public void waitUntilFinished() throws InterruptedException; }