kyotocabinet-java 0.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/.document +5 -0
  2. data/Gemfile +15 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +19 -0
  5. data/Rakefile +62 -0
  6. data/VERSION +1 -0
  7. data/ext/kyotocabinet-java/.gitignore +2 -0
  8. data/ext/kyotocabinet-java/COPYING +674 -0
  9. data/ext/kyotocabinet-java/Cursor.java +268 -0
  10. data/ext/kyotocabinet-java/DB.java +650 -0
  11. data/ext/kyotocabinet-java/Error.java +257 -0
  12. data/ext/kyotocabinet-java/FileProcessor.java +42 -0
  13. data/ext/kyotocabinet-java/Loader.java +60 -0
  14. data/ext/kyotocabinet-java/Makefile.in +246 -0
  15. data/ext/kyotocabinet-java/MapReduce.java +127 -0
  16. data/ext/kyotocabinet-java/README +26 -0
  17. data/ext/kyotocabinet-java/Test.java +1494 -0
  18. data/ext/kyotocabinet-java/Utility.java +131 -0
  19. data/ext/kyotocabinet-java/VCmakefile +150 -0
  20. data/ext/kyotocabinet-java/ValueIterator.java +49 -0
  21. data/ext/kyotocabinet-java/Visitor.java +56 -0
  22. data/ext/kyotocabinet-java/configure.in +310 -0
  23. data/ext/kyotocabinet-java/doc/allclasses-frame.html +26 -0
  24. data/ext/kyotocabinet-java/doc/allclasses-noframe.html +26 -0
  25. data/ext/kyotocabinet-java/doc/constant-values.html +344 -0
  26. data/ext/kyotocabinet-java/doc/index-all.html +848 -0
  27. data/ext/kyotocabinet-java/doc/index.html +30 -0
  28. data/ext/kyotocabinet-java/doc/kyotocabinet/Cursor.html +711 -0
  29. data/ext/kyotocabinet-java/doc/kyotocabinet/DB.html +1674 -0
  30. data/ext/kyotocabinet-java/doc/kyotocabinet/Error.html +604 -0
  31. data/ext/kyotocabinet-java/doc/kyotocabinet/FileProcessor.html +210 -0
  32. data/ext/kyotocabinet-java/doc/kyotocabinet/MapReduce.html +461 -0
  33. data/ext/kyotocabinet-java/doc/kyotocabinet/Test.html +220 -0
  34. data/ext/kyotocabinet-java/doc/kyotocabinet/Utility.html +413 -0
  35. data/ext/kyotocabinet-java/doc/kyotocabinet/ValueIterator.html +221 -0
  36. data/ext/kyotocabinet-java/doc/kyotocabinet/Visitor.html +283 -0
  37. data/ext/kyotocabinet-java/doc/kyotocabinet/package-frame.html +33 -0
  38. data/ext/kyotocabinet-java/doc/kyotocabinet/package-summary.html +199 -0
  39. data/ext/kyotocabinet-java/doc/kyotocabinet/package-tree.html +141 -0
  40. data/ext/kyotocabinet-java/doc/overview-summary.html +285 -0
  41. data/ext/kyotocabinet-java/doc/overview-tree.html +145 -0
  42. data/ext/kyotocabinet-java/doc/package-list +1 -0
  43. data/ext/kyotocabinet-java/doc/resources/background.gif +0 -0
  44. data/ext/kyotocabinet-java/doc/resources/tab.gif +0 -0
  45. data/ext/kyotocabinet-java/doc/resources/titlebar.gif +0 -0
  46. data/ext/kyotocabinet-java/doc/resources/titlebar_end.gif +0 -0
  47. data/ext/kyotocabinet-java/doc/serialized-form.html +141 -0
  48. data/ext/kyotocabinet-java/doc/stylesheet.css +474 -0
  49. data/ext/kyotocabinet-java/example/KCDBEX1.java +44 -0
  50. data/ext/kyotocabinet-java/example/KCDBEX2.java +44 -0
  51. data/ext/kyotocabinet-java/example/Makefile +59 -0
  52. data/ext/kyotocabinet-java/kyotocabinet.cc +2187 -0
  53. data/ext/kyotocabinet-java/kyotocabinet_Cursor.h +157 -0
  54. data/ext/kyotocabinet-java/kyotocabinet_DB.h +353 -0
  55. data/ext/kyotocabinet-java/kyotocabinet_Error.h +49 -0
  56. data/ext/kyotocabinet-java/kyotocabinet_Error_XBROKEN.h +41 -0
  57. data/ext/kyotocabinet-java/kyotocabinet_Error_XDUPREC.h +41 -0
  58. data/ext/kyotocabinet-java/kyotocabinet_Error_XINVALID.h +41 -0
  59. data/ext/kyotocabinet-java/kyotocabinet_Error_XLOGIC.h +41 -0
  60. data/ext/kyotocabinet-java/kyotocabinet_Error_XMISC.h +41 -0
  61. data/ext/kyotocabinet-java/kyotocabinet_Error_XNOIMPL.h +41 -0
  62. data/ext/kyotocabinet-java/kyotocabinet_Error_XNOPERM.h +41 -0
  63. data/ext/kyotocabinet-java/kyotocabinet_Error_XNOREC.h +41 -0
  64. data/ext/kyotocabinet-java/kyotocabinet_Error_XNOREPOS.h +41 -0
  65. data/ext/kyotocabinet-java/kyotocabinet_Error_XSUCCESS.h +41 -0
  66. data/ext/kyotocabinet-java/kyotocabinet_Error_XSYSTEM.h +41 -0
  67. data/ext/kyotocabinet-java/kyotocabinet_MapReduce.h +33 -0
  68. data/ext/kyotocabinet-java/kyotocabinet_Utility.h +101 -0
  69. data/ext/kyotocabinet-java/kyotocabinet_ValueIterator.h +21 -0
  70. data/ext/kyotocabinet-java/overview.html +177 -0
  71. data/kyotocabinet-java.gemspec +129 -0
  72. data/lib/kyotocabinet-java.rb +141 -0
  73. data/lib/kyotocabinet-java/version.rb +5 -0
  74. metadata +222 -0
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!-- NewPage -->
3
+ <html lang="en">
4
+ <head>
5
+ <!-- Generated by javadoc (version 1.7.0_04) on Fri May 25 00:40:49 JST 2012 -->
6
+ <title>kyotocabinet (kyotocabinet)</title>
7
+ <meta name="date" content="2012-05-25">
8
+ <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
9
+ </head>
10
+ <body>
11
+ <h1 class="bar"><a href="../kyotocabinet/package-summary.html" target="classFrame">kyotocabinet</a></h1>
12
+ <div class="indexContainer">
13
+ <h2 title="Interfaces">Interfaces</h2>
14
+ <ul title="Interfaces">
15
+ <li><a href="FileProcessor.html" title="interface in kyotocabinet" target="classFrame"><i>FileProcessor</i></a></li>
16
+ <li><a href="Visitor.html" title="interface in kyotocabinet" target="classFrame"><i>Visitor</i></a></li>
17
+ </ul>
18
+ <h2 title="Classes">Classes</h2>
19
+ <ul title="Classes">
20
+ <li><a href="Cursor.html" title="class in kyotocabinet" target="classFrame">Cursor</a></li>
21
+ <li><a href="DB.html" title="class in kyotocabinet" target="classFrame">DB</a></li>
22
+ <li><a href="MapReduce.html" title="class in kyotocabinet" target="classFrame">MapReduce</a></li>
23
+ <li><a href="Test.html" title="class in kyotocabinet" target="classFrame">Test</a></li>
24
+ <li><a href="Utility.html" title="class in kyotocabinet" target="classFrame">Utility</a></li>
25
+ <li><a href="ValueIterator.html" title="class in kyotocabinet" target="classFrame">ValueIterator</a></li>
26
+ </ul>
27
+ <h2 title="Exceptions">Exceptions</h2>
28
+ <ul title="Exceptions">
29
+ <li><a href="Error.html" title="class in kyotocabinet" target="classFrame">Error</a></li>
30
+ </ul>
31
+ </div>
32
+ </body>
33
+ </html>
@@ -0,0 +1,199 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!-- NewPage -->
3
+ <html lang="en">
4
+ <head>
5
+ <!-- Generated by javadoc (version 1.7.0_04) on Fri May 25 00:40:49 JST 2012 -->
6
+ <title>kyotocabinet (kyotocabinet)</title>
7
+ <meta name="date" content="2012-05-25">
8
+ <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
9
+ </head>
10
+ <body>
11
+ <script type="text/javascript"><!--
12
+ if (location.href.indexOf('is-external=true') == -1) {
13
+ parent.document.title="kyotocabinet (kyotocabinet)";
14
+ }
15
+ //-->
16
+ </script>
17
+ <noscript>
18
+ <div>JavaScript is disabled on your browser.</div>
19
+ </noscript>
20
+ <!-- ========= START OF TOP NAVBAR ======= -->
21
+ <div class="topNav"><a name="navbar_top">
22
+ <!-- -->
23
+ </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
24
+ <!-- -->
25
+ </a>
26
+ <ul class="navList" title="Navigation">
27
+ <li><a href="../overview-summary.html">Overview</a></li>
28
+ <li><a href="../kyotocabinet/package-summary.html">Package</a></li>
29
+ <li>Class</li>
30
+ <li><a href="package-tree.html">Tree</a></li>
31
+ <li><a href="../index-all.html">Index</a></li>
32
+ </ul>
33
+ </div>
34
+ <div class="subNav">
35
+ <ul class="navList">
36
+ <li>Prev Package</li>
37
+ <li>Next Package</li>
38
+ </ul>
39
+ <ul class="navList">
40
+ <li><a href="../index.html?kyotocabinet/package-summary.html" target="_top">Frames</a></li>
41
+ <li><a href="package-summary.html" target="_top">No Frames</a></li>
42
+ </ul>
43
+ <ul class="navList" id="allclasses_navbar_top">
44
+ <li><a href="../allclasses-noframe.html">All Classes</a></li>
45
+ </ul>
46
+ <div>
47
+ <script type="text/javascript"><!--
48
+ allClassesLink = document.getElementById("allclasses_navbar_top");
49
+ if(window==top) {
50
+ allClassesLink.style.display = "block";
51
+ }
52
+ else {
53
+ allClassesLink.style.display = "none";
54
+ }
55
+ //-->
56
+ </script>
57
+ </div>
58
+ <a name="skip-navbar_top">
59
+ <!-- -->
60
+ </a></div>
61
+ <!-- ========= END OF TOP NAVBAR ========= -->
62
+ <div class="header">
63
+ <h1 title="Package" class="title">Package&nbsp;kyotocabinet</h1>
64
+ </div>
65
+ <div class="contentContainer">
66
+ <ul class="blockList">
67
+ <li class="blockList">
68
+ <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
69
+ <caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
70
+ <tr>
71
+ <th class="colFirst" scope="col">Interface</th>
72
+ <th class="colLast" scope="col">Description</th>
73
+ </tr>
74
+ <tbody>
75
+ <tr class="altColor">
76
+ <td class="colFirst"><a href="../kyotocabinet/FileProcessor.html" title="interface in kyotocabinet">FileProcessor</a></td>
77
+ <td class="colLast">
78
+ <div class="block">Interface to process the database file.</div>
79
+ </td>
80
+ </tr>
81
+ <tr class="rowColor">
82
+ <td class="colFirst"><a href="../kyotocabinet/Visitor.html" title="interface in kyotocabinet">Visitor</a></td>
83
+ <td class="colLast">
84
+ <div class="block">Interface to access a record.</div>
85
+ </td>
86
+ </tr>
87
+ </tbody>
88
+ </table>
89
+ </li>
90
+ <li class="blockList">
91
+ <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
92
+ <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
93
+ <tr>
94
+ <th class="colFirst" scope="col">Class</th>
95
+ <th class="colLast" scope="col">Description</th>
96
+ </tr>
97
+ <tbody>
98
+ <tr class="altColor">
99
+ <td class="colFirst"><a href="../kyotocabinet/Cursor.html" title="class in kyotocabinet">Cursor</a></td>
100
+ <td class="colLast">
101
+ <div class="block">Interface of cursor to indicate a record.</div>
102
+ </td>
103
+ </tr>
104
+ <tr class="rowColor">
105
+ <td class="colFirst"><a href="../kyotocabinet/DB.html" title="class in kyotocabinet">DB</a></td>
106
+ <td class="colLast">
107
+ <div class="block">Interface of database abstraction.</div>
108
+ </td>
109
+ </tr>
110
+ <tr class="altColor">
111
+ <td class="colFirst"><a href="../kyotocabinet/MapReduce.html" title="class in kyotocabinet">MapReduce</a></td>
112
+ <td class="colLast">
113
+ <div class="block">MapReduce framework.</div>
114
+ </td>
115
+ </tr>
116
+ <tr class="rowColor">
117
+ <td class="colFirst"><a href="../kyotocabinet/Test.html" title="class in kyotocabinet">Test</a></td>
118
+ <td class="colLast">
119
+ <div class="block">Test cases.</div>
120
+ </td>
121
+ </tr>
122
+ <tr class="altColor">
123
+ <td class="colFirst"><a href="../kyotocabinet/Utility.html" title="class in kyotocabinet">Utility</a></td>
124
+ <td class="colLast">
125
+ <div class="block">Utility functions.</div>
126
+ </td>
127
+ </tr>
128
+ <tr class="rowColor">
129
+ <td class="colFirst"><a href="../kyotocabinet/ValueIterator.html" title="class in kyotocabinet">ValueIterator</a></td>
130
+ <td class="colLast">
131
+ <div class="block">Iterator for record values.</div>
132
+ </td>
133
+ </tr>
134
+ </tbody>
135
+ </table>
136
+ </li>
137
+ <li class="blockList">
138
+ <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
139
+ <caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
140
+ <tr>
141
+ <th class="colFirst" scope="col">Exception</th>
142
+ <th class="colLast" scope="col">Description</th>
143
+ </tr>
144
+ <tbody>
145
+ <tr class="altColor">
146
+ <td class="colFirst"><a href="../kyotocabinet/Error.html" title="class in kyotocabinet">Error</a></td>
147
+ <td class="colLast">
148
+ <div class="block">Error data.</div>
149
+ </td>
150
+ </tr>
151
+ </tbody>
152
+ </table>
153
+ </li>
154
+ </ul>
155
+ </div>
156
+ <!-- ======= START OF BOTTOM NAVBAR ====== -->
157
+ <div class="bottomNav"><a name="navbar_bottom">
158
+ <!-- -->
159
+ </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
160
+ <!-- -->
161
+ </a>
162
+ <ul class="navList" title="Navigation">
163
+ <li><a href="../overview-summary.html">Overview</a></li>
164
+ <li><a href="../kyotocabinet/package-summary.html">Package</a></li>
165
+ <li>Class</li>
166
+ <li><a href="package-tree.html">Tree</a></li>
167
+ <li><a href="../index-all.html">Index</a></li>
168
+ </ul>
169
+ </div>
170
+ <div class="subNav">
171
+ <ul class="navList">
172
+ <li>Prev Package</li>
173
+ <li>Next Package</li>
174
+ </ul>
175
+ <ul class="navList">
176
+ <li><a href="../index.html?kyotocabinet/package-summary.html" target="_top">Frames</a></li>
177
+ <li><a href="package-summary.html" target="_top">No Frames</a></li>
178
+ </ul>
179
+ <ul class="navList" id="allclasses_navbar_bottom">
180
+ <li><a href="../allclasses-noframe.html">All Classes</a></li>
181
+ </ul>
182
+ <div>
183
+ <script type="text/javascript"><!--
184
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
185
+ if(window==top) {
186
+ allClassesLink.style.display = "block";
187
+ }
188
+ else {
189
+ allClassesLink.style.display = "none";
190
+ }
191
+ //-->
192
+ </script>
193
+ </div>
194
+ <a name="skip-navbar_bottom">
195
+ <!-- -->
196
+ </a></div>
197
+ <!-- ======== END OF BOTTOM NAVBAR ======= -->
198
+ </body>
199
+ </html>
@@ -0,0 +1,141 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!-- NewPage -->
3
+ <html lang="en">
4
+ <head>
5
+ <!-- Generated by javadoc (version 1.7.0_04) on Fri May 25 00:40:49 JST 2012 -->
6
+ <title>kyotocabinet Class Hierarchy (kyotocabinet)</title>
7
+ <meta name="date" content="2012-05-25">
8
+ <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
9
+ </head>
10
+ <body>
11
+ <script type="text/javascript"><!--
12
+ if (location.href.indexOf('is-external=true') == -1) {
13
+ parent.document.title="kyotocabinet Class Hierarchy (kyotocabinet)";
14
+ }
15
+ //-->
16
+ </script>
17
+ <noscript>
18
+ <div>JavaScript is disabled on your browser.</div>
19
+ </noscript>
20
+ <!-- ========= START OF TOP NAVBAR ======= -->
21
+ <div class="topNav"><a name="navbar_top">
22
+ <!-- -->
23
+ </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
24
+ <!-- -->
25
+ </a>
26
+ <ul class="navList" title="Navigation">
27
+ <li><a href="../overview-summary.html">Overview</a></li>
28
+ <li><a href="../kyotocabinet/package-summary.html">Package</a></li>
29
+ <li>Class</li>
30
+ <li class="navBarCell1Rev">Tree</li>
31
+ <li><a href="../index-all.html">Index</a></li>
32
+ </ul>
33
+ </div>
34
+ <div class="subNav">
35
+ <ul class="navList">
36
+ <li>Prev</li>
37
+ <li>Next</li>
38
+ </ul>
39
+ <ul class="navList">
40
+ <li><a href="../index.html?kyotocabinet/package-tree.html" target="_top">Frames</a></li>
41
+ <li><a href="package-tree.html" target="_top">No Frames</a></li>
42
+ </ul>
43
+ <ul class="navList" id="allclasses_navbar_top">
44
+ <li><a href="../allclasses-noframe.html">All Classes</a></li>
45
+ </ul>
46
+ <div>
47
+ <script type="text/javascript"><!--
48
+ allClassesLink = document.getElementById("allclasses_navbar_top");
49
+ if(window==top) {
50
+ allClassesLink.style.display = "block";
51
+ }
52
+ else {
53
+ allClassesLink.style.display = "none";
54
+ }
55
+ //-->
56
+ </script>
57
+ </div>
58
+ <a name="skip-navbar_top">
59
+ <!-- -->
60
+ </a></div>
61
+ <!-- ========= END OF TOP NAVBAR ========= -->
62
+ <div class="header">
63
+ <h1 class="title">Hierarchy For Package kyotocabinet</h1>
64
+ </div>
65
+ <div class="contentContainer">
66
+ <h2 title="Class Hierarchy">Class Hierarchy</h2>
67
+ <ul>
68
+ <li type="circle">Object
69
+ <ul>
70
+ <li type="circle"><a href="../kyotocabinet/Cursor.html" title="class in kyotocabinet"><span class="strong">Cursor</span></a></li>
71
+ <li type="circle"><a href="../kyotocabinet/DB.html" title="class in kyotocabinet"><span class="strong">DB</span></a></li>
72
+ <li type="circle"><a href="../kyotocabinet/MapReduce.html" title="class in kyotocabinet"><span class="strong">MapReduce</span></a></li>
73
+ <li type="circle"><a href="../kyotocabinet/Test.html" title="class in kyotocabinet"><span class="strong">Test</span></a></li>
74
+ <li type="circle">Throwable (implements Serializable)
75
+ <ul>
76
+ <li type="circle">Exception
77
+ <ul>
78
+ <li type="circle">RuntimeException
79
+ <ul>
80
+ <li type="circle"><a href="../kyotocabinet/Error.html" title="class in kyotocabinet"><span class="strong">Error</span></a></li>
81
+ </ul>
82
+ </li>
83
+ </ul>
84
+ </li>
85
+ </ul>
86
+ </li>
87
+ <li type="circle"><a href="../kyotocabinet/Utility.html" title="class in kyotocabinet"><span class="strong">Utility</span></a></li>
88
+ <li type="circle"><a href="../kyotocabinet/ValueIterator.html" title="class in kyotocabinet"><span class="strong">ValueIterator</span></a></li>
89
+ </ul>
90
+ </li>
91
+ </ul>
92
+ <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
93
+ <ul>
94
+ <li type="circle"><a href="../kyotocabinet/FileProcessor.html" title="interface in kyotocabinet"><span class="strong">FileProcessor</span></a></li>
95
+ <li type="circle"><a href="../kyotocabinet/Visitor.html" title="interface in kyotocabinet"><span class="strong">Visitor</span></a></li>
96
+ </ul>
97
+ </div>
98
+ <!-- ======= START OF BOTTOM NAVBAR ====== -->
99
+ <div class="bottomNav"><a name="navbar_bottom">
100
+ <!-- -->
101
+ </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
102
+ <!-- -->
103
+ </a>
104
+ <ul class="navList" title="Navigation">
105
+ <li><a href="../overview-summary.html">Overview</a></li>
106
+ <li><a href="../kyotocabinet/package-summary.html">Package</a></li>
107
+ <li>Class</li>
108
+ <li class="navBarCell1Rev">Tree</li>
109
+ <li><a href="../index-all.html">Index</a></li>
110
+ </ul>
111
+ </div>
112
+ <div class="subNav">
113
+ <ul class="navList">
114
+ <li>Prev</li>
115
+ <li>Next</li>
116
+ </ul>
117
+ <ul class="navList">
118
+ <li><a href="../index.html?kyotocabinet/package-tree.html" target="_top">Frames</a></li>
119
+ <li><a href="package-tree.html" target="_top">No Frames</a></li>
120
+ </ul>
121
+ <ul class="navList" id="allclasses_navbar_bottom">
122
+ <li><a href="../allclasses-noframe.html">All Classes</a></li>
123
+ </ul>
124
+ <div>
125
+ <script type="text/javascript"><!--
126
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
127
+ if(window==top) {
128
+ allClassesLink.style.display = "block";
129
+ }
130
+ else {
131
+ allClassesLink.style.display = "none";
132
+ }
133
+ //-->
134
+ </script>
135
+ </div>
136
+ <a name="skip-navbar_bottom">
137
+ <!-- -->
138
+ </a></div>
139
+ <!-- ======== END OF BOTTOM NAVBAR ======= -->
140
+ </body>
141
+ </html>
@@ -0,0 +1,285 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!-- NewPage -->
3
+ <html lang="en">
4
+ <head>
5
+ <!-- Generated by javadoc (version 1.7.0_04) on Fri May 25 00:40:49 JST 2012 -->
6
+ <title>Overview (kyotocabinet)</title>
7
+ <meta name="date" content="2012-05-25">
8
+ <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
9
+ </head>
10
+ <body>
11
+ <script type="text/javascript"><!--
12
+ if (location.href.indexOf('is-external=true') == -1) {
13
+ parent.document.title="Overview (kyotocabinet)";
14
+ }
15
+ //-->
16
+ </script>
17
+ <noscript>
18
+ <div>JavaScript is disabled on your browser.</div>
19
+ </noscript>
20
+ <!-- ========= START OF TOP NAVBAR ======= -->
21
+ <div class="topNav"><a name="navbar_top">
22
+ <!-- -->
23
+ </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
24
+ <!-- -->
25
+ </a>
26
+ <ul class="navList" title="Navigation">
27
+ <li class="navBarCell1Rev">Overview</li>
28
+ <li><a href="kyotocabinet/package-summary.html">Package</a></li>
29
+ <li>Class</li>
30
+ <li><a href="overview-tree.html">Tree</a></li>
31
+ <li><a href="index-all.html">Index</a></li>
32
+ </ul>
33
+ </div>
34
+ <div class="subNav">
35
+ <ul class="navList">
36
+ <li>Prev</li>
37
+ <li>Next</li>
38
+ </ul>
39
+ <ul class="navList">
40
+ <li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
41
+ <li><a href="overview-summary.html" target="_top">No Frames</a></li>
42
+ </ul>
43
+ <ul class="navList" id="allclasses_navbar_top">
44
+ <li><a href="allclasses-noframe.html">All Classes</a></li>
45
+ </ul>
46
+ <div>
47
+ <script type="text/javascript"><!--
48
+ allClassesLink = document.getElementById("allclasses_navbar_top");
49
+ if(window==top) {
50
+ allClassesLink.style.display = "block";
51
+ }
52
+ else {
53
+ allClassesLink.style.display = "none";
54
+ }
55
+ //-->
56
+ </script>
57
+ </div>
58
+ <a name="skip-navbar_top">
59
+ <!-- -->
60
+ </a></div>
61
+ <!-- ========= END OF TOP NAVBAR ========= -->
62
+ <div class="header">
63
+ <div class="subTitle">
64
+ <div class="block">Java Binding of Kyoto Cabinet.</div>
65
+ </div>
66
+ <p>See: <a href="#overview_description">Description</a></p>
67
+ </div>
68
+ <div class="contentContainer">
69
+ <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
70
+ <caption><span>Packages</span><span class="tabEnd">&nbsp;</span></caption>
71
+ <tr>
72
+ <th class="colFirst" scope="col">Package</th>
73
+ <th class="colLast" scope="col">Description</th>
74
+ </tr>
75
+ <tbody>
76
+ <tr class="altColor">
77
+ <td class="colFirst"><a href="kyotocabinet/package-summary.html">kyotocabinet</a></td>
78
+ <td class="colLast">&nbsp;</td>
79
+ </tr>
80
+ </tbody>
81
+ </table>
82
+ </div>
83
+ <div class="footer"><a name="overview_description">
84
+ <!-- -->
85
+ </a>
86
+ <div class="subTitle">
87
+ <div class="block"><h1>Java Binding of Kyoto Cabinet.</h1>
88
+
89
+ <div>Kyoto Cabinet is a straightforward implementation of DBM.</div>
90
+
91
+ <h2>Introduction</h2>
92
+
93
+ <p>Kyoto Cabinet is a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Every key and value is serial bytes with variable length. Both binary data and character string can be used as a key and a value. Each key must be unique within a database. There is neither concept of data tables nor data types. Records are organized in hash table or B+ tree.</p>
94
+
95
+ <p>The following access methods are provided to the database: storing a record with a key and a value, deleting a record by a key, retrieving a record by a key. Moreover, traversal access to every key are provided. These access methods are similar to ones of the original DBM (and its followers: NDBM and GDBM) library defined in the UNIX standard. Kyoto Cabinet is an alternative for the DBM because of its higher performance.</p>
96
+
97
+ <p>Each operation of the hash database has the time complexity of "O(1)". Therefore, in theory, the performance is constant regardless of the scale of the database. In practice, the performance is determined by the speed of the main memory or the storage device. If the size of the database is less than the capacity of the main memory, the performance will seem on-memory speed, which is faster than std::map of STL. Of course, the database size can be greater than the capacity of the main memory and the upper limit is 8 exabytes. Even in that case, each operation needs only one or two seeking of the storage device.</p>
98
+
99
+ <p>Each operation of the B+ tree database has the time complexity of "O(log N)". Therefore, in theory, the performance is logarithmic to the scale of the database. Although the performance of random access of the B+ tree database is slower than that of the hash database, the B+ tree database supports sequential access in order of the keys, which realizes forward matching search for strings and range search for integers. The performance of sequential access is much faster than that of random access.</p>
100
+
101
+ <p>This library wraps the polymorphic database of the C++ API. So, you can select the internal data structure by specifying the database name in runtime. This library is thread-safe.</p>
102
+
103
+ <h2>Installation</h2>
104
+
105
+ <p>Install the latest version of Kyoto Cabinet beforehand and get the package of the Java binding of Kyoto Cabinet. JDK 6 or later is also required.</p>
106
+
107
+ <p>Enter the directory of the extracted package then perform installation.</p>
108
+
109
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">./configure
110
+ make
111
+ make check
112
+ su
113
+ make install
114
+ </pre>
115
+
116
+ <p>When a series of work finishes, the JAR file `kyotocabinet.jar' and the shared object files `libjkyotocabinet.so' and so on are installed under `/usr/local/lib'.</p>
117
+
118
+ <p>Let the class search path include `/usr/local/lib/kyotocabinet.jar' and let the library search path include `/usr/local/lib'.</p>
119
+
120
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">CLASSPATH="$CLASSPATH:/usr/local/lib/kyotocabinet.jar"
121
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
122
+ export CLASSPATH LD_LIBRARY_PATH
123
+ </pre>
124
+
125
+ <p>The above settings can be specified by options of the runtime command.</p>
126
+
127
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">java -cp .:kyotocabinet.jar -Djava.library.path=.:/usr/local/lib FooBarBaz ...
128
+ </pre>
129
+
130
+ <p>All symbols of Kyoto Cabinet are defined in the package `kyotocabinet'. You can access them without any prefix by importing the package.</p>
131
+
132
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">import kyotocabinet.*;
133
+ </pre>
134
+
135
+ <h2>Example</h2>
136
+
137
+ <p>The following code is a typical example to use a database. </p>
138
+
139
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">import kyotocabinet.*;
140
+
141
+ public class KCDBEX1 {
142
+ public static void main(String[] args) {
143
+
144
+ // create the object
145
+ DB db = new DB();
146
+
147
+ // open the database
148
+ if (!db.open("casket.kch", DB.OWRITER | DB.OCREATE)){
149
+ System.err.println("open error: " + db.error());
150
+ }
151
+
152
+ // store records
153
+ if (!db.set("foo", "hop") ||
154
+ !db.set("bar", "step") ||
155
+ !db.set("baz", "jump")){
156
+ System.err.println("set error: " + db.error());
157
+ }
158
+
159
+ // retrieve records
160
+ String value = db.get("foo");
161
+ if (value != null){
162
+ System.out.println(value);
163
+ } else {
164
+ System.err.println("set error: " + db.error());
165
+ }
166
+
167
+ // traverse records
168
+ Cursor cur = db.cursor();
169
+ cur.jump();
170
+ String[] rec;
171
+ while ((rec = cur.get_str(true)) != null) {
172
+ System.out.println(rec[0] + ":" + rec[1]);
173
+ }
174
+ cur.disable();
175
+
176
+ // close the database
177
+ if(!db.close()){
178
+ System.err.println("close error: " + db.error());
179
+ }
180
+
181
+ }
182
+ }
183
+ </pre>
184
+
185
+ <p>The following code is a more complex example, which uses the Visitor pattern.</p>
186
+
187
+ <pre style="margin: 0em 0.8em; padding: 0.3em; background: #eeeeff none; border: 1px solid #cccccc; font-size: 90%;">import kyotocabinet.*;
188
+
189
+ public class KCDBEX2 {
190
+ public static void main(String[] args) {
191
+
192
+ // create the object
193
+ DB db = new DB();
194
+
195
+ // open the database
196
+ if (!db.open("casket.kch", DB.OREADER)) {
197
+ System.err.println("open error: " + db.error());
198
+ }
199
+
200
+ // define the visitor
201
+ class VisitorImpl implements Visitor {
202
+ public byte[] visit_full(byte[] key, byte[] value) {
203
+ System.out.println(new String(key) + ":" + new String(value));
204
+ return NOP;
205
+ }
206
+ public byte[] visit_empty(byte[] key) {
207
+ System.err.println(new String(key) + " is missing");
208
+ return NOP;
209
+ }
210
+ }
211
+ Visitor visitor = new VisitorImpl();
212
+
213
+ // retrieve a record with visitor
214
+ if (!db.accept("foo".getBytes(), visitor, false) ||
215
+ !db.accept("dummy".getBytes(), visitor, false)) {
216
+ System.err.println("accept error: " + db.error());
217
+ }
218
+
219
+ // traverse records with visitor
220
+ if (!db.iterate(visitor, false)) {
221
+ System.err.println("iterate error: " + db.error());
222
+ }
223
+
224
+ // close the database
225
+ if(!db.close()){
226
+ System.err.println("close error: " + db.error());
227
+ }
228
+
229
+ }
230
+ }
231
+ </pre>
232
+
233
+ <h2>License</h2>
234
+
235
+ <div>Copyright (C) 2009-2011 FAL Labs</div>
236
+
237
+ <p>Kyoto Cabinet is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.</p>
238
+
239
+ <p>Kyoto Cabinet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p></div>
240
+ </div>
241
+ </div>
242
+ <!-- ======= START OF BOTTOM NAVBAR ====== -->
243
+ <div class="bottomNav"><a name="navbar_bottom">
244
+ <!-- -->
245
+ </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
246
+ <!-- -->
247
+ </a>
248
+ <ul class="navList" title="Navigation">
249
+ <li class="navBarCell1Rev">Overview</li>
250
+ <li><a href="kyotocabinet/package-summary.html">Package</a></li>
251
+ <li>Class</li>
252
+ <li><a href="overview-tree.html">Tree</a></li>
253
+ <li><a href="index-all.html">Index</a></li>
254
+ </ul>
255
+ </div>
256
+ <div class="subNav">
257
+ <ul class="navList">
258
+ <li>Prev</li>
259
+ <li>Next</li>
260
+ </ul>
261
+ <ul class="navList">
262
+ <li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
263
+ <li><a href="overview-summary.html" target="_top">No Frames</a></li>
264
+ </ul>
265
+ <ul class="navList" id="allclasses_navbar_bottom">
266
+ <li><a href="allclasses-noframe.html">All Classes</a></li>
267
+ </ul>
268
+ <div>
269
+ <script type="text/javascript"><!--
270
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
271
+ if(window==top) {
272
+ allClassesLink.style.display = "block";
273
+ }
274
+ else {
275
+ allClassesLink.style.display = "none";
276
+ }
277
+ //-->
278
+ </script>
279
+ </div>
280
+ <a name="skip-navbar_bottom">
281
+ <!-- -->
282
+ </a></div>
283
+ <!-- ======== END OF BOTTOM NAVBAR ======= -->
284
+ </body>
285
+ </html>