Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/virtuosotechnologies/asaph/notationmanager/NotationManager.java


1   /*
2   ================================================================================
3   
4     FILE:  NotationManager.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      API for NotationManager
13    
14    PROGRAMMERS:
15    
16      Daniel Azuma (DA)  <dazuma@kagi.com>
17    
18    COPYRIGHT:
19    
20      Copyright (C) 2003  Daniel Azuma  (dazuma@kagi.com)
21      
22      This program is free software; you can redistribute it and/or
23      modify it under the terms of the GNU General Public License as
24      published by the Free Software Foundation; either version 2
25      of the License, or (at your option) any later version.
26      
27      This program is distributed in the hope that it will be useful,
28      but WITHOUT ANY WARRANTY; without even the implied warranty of
29      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30      GNU General Public License for more details.
31      
32      You should have received a copy of the GNU General Public
33      License along with this program; if not, write to
34        Free Software Foundation, Inc.
35        59 Temple Place, Suite 330
36        Boston, MA 02111-1307 USA
37  
38  ================================================================================
39  */
40  
41  
42  package com.virtuosotechnologies.asaph.notationmanager;
43  
44  
45  import java.util.Locale;
46  
47  import com.virtuosotechnologies.asaph.model.notation.NotationFactory;
48  
49  
50  /**
51   * API for StandardModel
52   */
53  public interface NotationManager
54  {
55    /**
56     * Name of this API
57     */
58    public static final String API_NAME = "com.virtuosotechnologies.asaph.notationmanager.NotationManager";
59    
60    
61    /**
62     * Get the NotationFactory for the given locale. If called multiple times for the same locale, it will
63     * return the same NotationFactory object.
64     *
65     * @param locale locale to use, or null to specify the default locale
66     * @return the NotationFactory for this locale.
67     */
68    public NotationFactory getNotationFactoryForLocale(
69      Locale locale);
70    
71    
72    /**
73     * Register a NotationFactory to use for a given locale.
74     *
75     * @param filter identifier for the relevant locales
76     * @param representative a representative locale for use in choosers
77     * @param factory NotationFactory to use
78     */
79    public void setNotationFactoryForLocale(
80      LocaleFilter filter,
81      Locale representative,
82      NotationFactory factory);
83    
84    
85    /**
86     * Get an array of representative locales, used for choosing a NotationFactory.
87     * Commonly used to build guis.
88     *
89     * @return an array of Locale
90     */
91    public Locale[] getRepresentativeLocales();
92  }