|
What this is
Other links
The source code// $Id: NotationProviderFactory.java,v 1.11 2004/09/11 09:25:57 mvw Exp $
// Copyright (c) 1996-2001 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
// and this paragraph appear in all copies. This software program and
// documentation are copyrighted by The Regents of the University of
// California. The software program and documentation are supplied "AS
// IS", without any accompanying services from The Regents. The Regents
// does not warrant that the operation of the program will be
// uninterrupted or error-free. The end-user understands that the program
// was developed for research purposes and is advised not to rely
// exclusively on the program for any reason. IN NO EVENT SHALL THE
// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
// File: NotationProviderFactory.java
// Classes: NotationProviderFactory
// Original Author: Thierry Lach
package org.argouml.application.notation;
import org.apache.log4j.Logger;
import org.argouml.application.api.*;
import org.argouml.application.events.*;
import java.util.*;
import org.argouml.uml.generator.GeneratorDisplay;
/** Provides a factory for handling notation providers.
*
* @author Thierry Lach
* @since 0.9.4
*/
public class NotationProviderFactory
implements ArgoModuleEventListener
{
/** logger */
private static final Logger LOG =
Logger.getLogger(NotationProviderFactory.class);
private static NotationProviderFactory singleton =
new NotationProviderFactory();
/**
* @return the singleton
*/
public static NotationProviderFactory getInstance() { return singleton; }
private ArrayList providers = new ArrayList();
private NotationProvider2 defaultProvider = null;
private NotationProviderFactory() {
providers = new ArrayList();
ListIterator iterator =
Argo.getPlugins(PluggableNotation.class).listIterator();
while (iterator.hasNext()) {
Object o = iterator.next();
if (o instanceof NotationProvider2) {
NotationProvider2 np = (NotationProvider2) o;
LOG.debug ("added provider:" + np);
providers.add(np);
fireEvent(ArgoEventTypes.NOTATION_PROVIDER_ADDED, np);
}
}
ArgoEventPump.addListener(ArgoEventTypes.ANY_NOTATION_EVENT, this);
ArgoEventPump.addListener(ArgoEventTypes.ANY_MODULE_EVENT, this);
}
/** Remove the notation change listener.
*
|
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.