Java Doc for Librarian.java in  » Installer » IzPack » com » izforge » izpack » util » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Installer » IzPack » com.izforge.izpack.util 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.izforge.izpack.util.Librarian

Librarian
public class Librarian implements CleanupClient(Code)
This class handles loading of native libraries. There must only be one instance of Librarian per Java runtime, therefore this class is implemented as a 'Singleton'.

Librarian is capable of loading native libraries from a variety of different source locations. However, you should place your library files in the 'native' directory. The primary reason for supporting different source locations is to facilitate testing in a development environment, without the need to actually packing the application into a *.jar file.
version:
   1.0 / 1/30/02
author:
   Elmar Grom




Method Summary
public  voidcleanUp()
     This method attempts to remove all native libraries that have been temporarily created from the system. The used method for clean up depends on the VM version. If the ersion is 1.5.x or higher this process should be exit in one second, else the native libraries will be not deleted. Tests with the different methods produces hinds that the FreeLibraryAndExitThread (handle, 0) call in the dlls are the reason for VM crashes (version 1.5.x).
public static  LibrariangetInstance()
     Returns an instance of Librarian to use.
public synchronized  voidloadArchSpecificLibrary(String name, NativeLibraryClient client)
     Loads the requested library.
public synchronized  voidloadLibrary(String name, NativeLibraryClient client)
    
public  voidsetNativeDirectory(String directory)
     Sets the directory where Librarian will search for native files.



Method Detail
cleanUp
public void cleanUp()(Code)
This method attempts to remove all native libraries that have been temporarily created from the system. The used method for clean up depends on the VM version. If the ersion is 1.5.x or higher this process should be exit in one second, else the native libraries will be not deleted. Tests with the different methods produces hinds that the FreeLibraryAndExitThread (handle, 0) call in the dlls are the reason for VM crashes (version 1.5.x). May be this is a bug in the VM. But never seen a docu that this behavior is compatible with a VM. Since more than a year all 1.5 versions produce this crash. Therfore we make now a work around for it. But the idea to exit the thread for removing the file locking to give the possibility to delete the dlls are really nice. Therefore we use it with VMs which are compatible with it. (Klaus Bartz 2006.06.20)



getInstance
public static Librarian getInstance()(Code)
Returns an instance of Librarian to use. an instance of Librarian.



loadArchSpecificLibrary
public synchronized void loadArchSpecificLibrary(String name, NativeLibraryClient client) throws Exception(Code)
Loads the requested library. If the library is already loaded, this method returns immediately, without an attempt to load the library again.

Invocation Example: This assumes that the call is made from the class that links with the library. If this is not the case, this must be replaced by the reference of the class that links with the library.

Librarian.getInstance ().loadLibrary ("MyLibrary", this);

Loading of a native library file works as follows:
  • If the library is already loaded there is nothing to do.
  • An attempt is made to load the library by its name. If there is no system path set to the library, this attempt will fail.
  • If the client is located on the local file system, an attempt is made to load the library from the local files system as well.
  • If the library is located inside a *.jar file, it is extracted to 'java.io.tmpdir' and an attempt is made to load it from there.


Loading from the local file system and from the *.jar file is attempted for the following potential locations of the library in this order:
  1. The same directory where the client is located
  2. The native library directory

Parameters:
  name - the name of the library. A file extension and path are not needed, in fact ifsupplied, both is stripped off. A specific extension is appended.
Parameters:
  client - the object that made the load request
See Also:   Librarian.setNativeDirectory
exception:
  Exception - if all attempts to load the library fail.



loadLibrary
public synchronized void loadLibrary(String name, NativeLibraryClient client) throws Exception(Code)



setNativeDirectory
public void setNativeDirectory(String directory)(Code)
Sets the directory where Librarian will search for native files. Directories are denoted relative to the root, where the root is the same location where the top level Java package directory is located (usually called com). The default directory is native.
Parameters:
  directory - the directory where native files are located.



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.