Source code: com/virtuosotechnologies/lib/platform/PlatformProvider.java
1 /*
2 ================================================================================
3
4 FILE: PlatformProvider.java
5
6 PROJECT:
7
8 Virtuoso Utilities
9
10 CONTENTS:
11
12 Platform-specific providers need to implement this interface.
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.lib.platform;
43
44
45 /**
46 * Platform-specific providers need to implement this interface.
47 * This is here as a buffer so that PlatformUtils doesn't need to know
48 * anything about the implementation classes for platform providers.
49 */
50 public interface PlatformProvider
51 {
52 /**
53 * Initialize this provider. Returns a boolean value specifying whether
54 * the provider is supported by the running platform or not.
55 * This is called by the platform mechanism when it starts up, and should
56 * not be called by clients.
57 *
58 * @return true if the provider is supported, or false if not.
59 */
60 public boolean initialize();
61
62
63 /**
64 * Perform a platform-specific operation. Throws an IllegalStateException
65 * if the initialization failed.
66 *
67 * @param operation identification of the operation
68 * @param data parameters
69 * @return return value
70 * @exception IllegalStateException initialize not yet called or returned false.
71 */
72 public Object performOperation(
73 String operation,
74 Object data);
75 }