1 /*
   2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 package com.sun.java.accessibility.internal;
  26 
  27 import javax.accessibility.AccessibilityProvider;
  28 
  29 /* This class provided methods to identify and activate the mapping from the
  30  * JavaAccessBridge API to the Java Accessibility API.
  31  */
  32 public final class ProviderImpl extends AccessibilityProvider {
  33     /**
  34      * Typically the service name returned by the name() method would be a simple
  35      * name such as JavaAccessBridge, but the following name is used for compatibility
  36      * with prior versions of ${user.home}/.accessibility.properties and
  37      * ${java.home}/conf/accessibility.properties where the text on the
  38      * assistive.technologies= line is a fully qualified class name. As of Java 9
  39      * class names are no longer used to identify assistive technology implementations.
  40      * If the properties file exists the installer will not replace it thus the
  41      * need for compatibility.
  42      */
  43     private final String name = "com.sun.java.accessibility.AccessBridge";
  44 
  45     public ProviderImpl() {}
  46 
  47     public String getName() {
  48         return name;
  49     }
  50 
  51     public void activate() {
  52         /**
  53          * Note that the AccessBridge is instantiated here rather than in the
  54          * constructor.  If the caller determines that this object is named
  55          * "com.sun.java.accessibility.AccessBridge" then the caller will call
  56          * start to instantiate the AccessBridge which will in turn activate it.
  57          */
  58         new AccessBridge();
  59     }
  60 
  61 }