Java Doc for Cache.java in  » Apache-Harmony-Java-SE » org-package » org » apache » harmony » security » provider » cert » 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 » Apache Harmony Java SE » org package » org.apache.harmony.security.provider.cert 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.harmony.security.provider.cert.Cache

Cache
public class Cache (Code)
The caching mechanism designed to speed up the process of Certificates/CRLs generation in the case of their repeated generation. It keeps correspondences between Objects (Certificates or CLRs) and arrays of bytes on the base of which the Objects have been generated, and provides the means to determine whether it contains the object built on the base of particular encoded form or not. If there are such objects they are returned from the cache, if not - newly generated objects can be saved in the cache.
The process of Certificate/CRL generation (implemented in X509CertFactoryImpl) is accompanied with prereading of the beginning of encoded form. This prefix is used to determine whether provided form is PEM encoding or not.
So the use of the prefix is the first point to (approximately) determine whether object to be generated is in the cache or not. The failure of the predetermination process tells us that there were not object generated from the encoded form with such prefix and we should generate (decode) the object. If predetermination is successful, we conduct the accurate search on the base of whole encoded form.
So to speed up the object generation process this caching mechanism provides the following functionality:
1. With having of the beginning of the encoded form (prefix) it is possible to predetermine whether object has already been generated on the base of the encoding with the SIMILAR prefix or not. This process is not computationally expensive and takes a little time. But it prevents us from use of expensive full encoding search in the case of its failure.
2. If predetermination ends with success, the whole encoding form should be provided to make the final answer: whether object has already been generated on the base of this PARTICULAR encoded form or not. If it is so - the cached object is returned from the cache, if not - new object should be generated and saved in the cache.
Note: The length of the prefixes of the encoded forms should not be less than correspondence (default value is 28).



Constructor Summary
public  Cache(int pref_size, int size)
     Creates the Cache object.
public  Cache(int pref_size)
     Creates the Cache object of size of 900.
public  Cache()
     Creates the Cache object of size of 900.

Method Summary
public  booleancontains(long prefix_hash)
     Checks if there are any object in the cache generated on the base of encoding with prefix corresponding to the specified hash code.
public  Objectget(long hash, byte[] encoding)
     Returns the object built on the base on the specified encoded form if it is contained in the cache and null otherwise. This method is computationally expensive and should be called only if the method contains(long) for the hash code returned true.
Parameters:
  hash - the hash code for the prefix of the encoding(retrieved by method getHash(byte[]))
Parameters:
  encoding - encoded form of the required object.
public  longgetHash(byte[] arr)
     Returns the hash code for the array.
public  voidput(long hash, byte[] encoding, Object object)
     Puts the object into the cache.


Constructor Detail
Cache
public Cache(int pref_size, int size)(Code)
Creates the Cache object.
Parameters:
  pref_size - specifies how many leading/trailing bytes of object'sencoded form will be used for hash computation
Parameters:
  size - capacity of the cache to be created.



Cache
public Cache(int pref_size)(Code)
Creates the Cache object of size of 900.
Parameters:
  pref_size - specifies how many leading/trailing bytes of object'sencoded form will be used for hash computation



Cache
public Cache()(Code)
Creates the Cache object of size of 900.




Method Detail
contains
public boolean contains(long prefix_hash)(Code)
Checks if there are any object in the cache generated on the base of encoding with prefix corresponding to the specified hash code.
Parameters:
  prefix_hash - the hash code for the prefixof the encoding (retrieved by method getHash(byte[])) false if there were not any object generatedon the base of encoding with specified hash code, trueotherwise.



get
public Object get(long hash, byte[] encoding)(Code)
Returns the object built on the base on the specified encoded form if it is contained in the cache and null otherwise. This method is computationally expensive and should be called only if the method contains(long) for the hash code returned true.
Parameters:
  hash - the hash code for the prefix of the encoding(retrieved by method getHash(byte[]))
Parameters:
  encoding - encoded form of the required object. the object corresponding to specified encoding or null ifthere is no such correspondence.



getHash
public long getHash(byte[] arr)(Code)
Returns the hash code for the array. This code is used to predetermine whether the object was built on the base of the similar encoding or not (by means of contains(long) method), to exactly determine whether object is contained in the cache or not, and to put the object in the cache. Note: parameter array should be of length not less than specified by prefix_size (default 28)
Parameters:
  arr - the byte array containing at least prefix_size leading bytesof the encoding. hash code for specified encoding prefix



put
public void put(long hash, byte[] encoding, Object object)(Code)
Puts the object into the cache.
Parameters:
  hash - hash code for the prefix of the encoding
Parameters:
  encoding - the encoded form of the object
Parameters:
  object - the object to be saved in the cache



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.