1 /* 2 * $Id$ 3 * 4 * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. 5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 * 7 * This code is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 only, as 9 * published by the Free Software Foundation. Oracle designates this 10 * particular file as subject to the "Classpath" exception as provided 11 * by Oracle in the LICENSE file that accompanied this code. 12 * 13 * This code is distributed in the hope that it will be useful, but WITHOUT 14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 * version 2 for more details (a copy is included in the LICENSE file that 17 * accompanied this code). 18 * 19 * You should have received a copy of the GNU General Public License version 20 * 2 along with this work; if not, write to the Free Software Foundation, 21 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22 * 23 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 24 * or visit www.oracle.com if you need additional information or have any 25 * questions. 26 */ 27 package com.sun.interview; 28 29 import com.sun.interview.Interview.Fault; 30 import java.io.File; 31 32 /** 33 * The interface that implements bridge between javax.help package and 34 * JavaTest. Default implementation of this interface just provides stubs, 35 * it doesn't use javax.help and could be used in the batch mode. 36 * Interview while initialization checks if Desktop is available or not, 37 * if yes, the rich factory will be used. 38 * 39 * @author Dmitry Fazunenko 40 */ 41 public interface HelpSetFactory { 42 43 /** 44 * Creates an instance of HelpSet. 45 * Real implementation should create of javax.help.HelpSet, when a 46 * stub implementation just object. 47 * 48 * @throws com.sun.interview.Interview.Fault if something went wrong 49 */ 50 public Object createHelpSetObject(String name, Class c) throws Interview.Fault; 51 52 /** 53 * Creates an instance of HelpSet. 54 * Real implementation should create of javax.help.HelpSet, when a 55 * stub implementation just object. 56 * 57 * @throws com.sun.interview.Interview.Fault if something went wrong 58 */ 59 public Object createHelpSetObject(String name, File file) throws Interview.Fault; 60 61 /** 62 * Updates a HelpSet instance associated with the given interview. 63 * 64 * @param interview - interview object to reset HelpSet 65 * @param object - an instance of javax.help.HelpSet 66 */ 67 public Object updateHelpSetObject(Interview interview, Object object); 68 69 public Object createHelpID(Object hs, String str); 70 71 72 /** 73 * The very default implementation of the HelpSetFactory interface. 74 * It should be used in case when help is not required (command line mode) 75 */ 76 public static final HelpSetFactory DEFAULT = new Default(); 77 78 static class Default implements HelpSetFactory { 79 private static final Object EMPTY = new Object(); 80 81 public Object createHelpSetObject(String name, Class c) throws Fault { 82 return EMPTY; 83 } 84 85 public Object createHelpSetObject(String name, File file) throws Fault { 86 return EMPTY; 87 } 88 89 public Object createHelpID(Object hs, String str) { 90 return null; 91 } 92 93 public Object updateHelpSetObject(Interview interview, Object object) { 94 return object; 95 } 96 97 } 98 99 }