Changed license to CC0
[svjatoslav_commons.git] / doc / index.html
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Svjatoslav Commons - Java library of commonly used functions</title>
5 <!-- 2020-05-01 Fri 23:39 -->
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <meta name="generator" content="Org-mode">
9 <meta name="author" content="Svjatoslav Agejenko">
10 <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
11 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
12 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
13 <style type="text/css">
14 footer {background-color: #111 !important;}
15 pre {background-color: #111; color: #ccc;}
16 </style>
17 <style type="text/css">
18 /* org mode styles on top of twbs */
19
20 html {
21     position: relative;
22     min-height: 100%;
23 }
24
25 body {
26     font-size: 18px;
27     margin-bottom: 105px;
28 }
29
30 footer {
31     position: absolute;
32     bottom: 0;
33     width: 100%;
34     height: 101px;
35     background-color: #f5f5f5;
36 }
37
38 footer > div {
39     padding: 10px;
40 }
41
42 footer p {
43     margin: 0 0 5px;
44     text-align: center;
45     font-size: 16px;
46 }
47
48 #table-of-contents {
49     margin-top: 20px;
50     margin-bottom: 20px;
51 }
52
53 blockquote p {
54     font-size: 18px;
55 }
56
57 pre {
58     font-size: 16px;
59 }
60
61 .footpara {
62     display: inline-block;
63 }
64
65 figcaption {
66   font-size: 16px;
67   color: #666;
68   font-style: italic;
69   padding-bottom: 15px;
70 }
71
72 /* from twbs docs */
73
74 .bs-docs-sidebar.affix {
75     position: static;
76 }
77 @media (min-width: 768px) {
78     .bs-docs-sidebar {
79         padding-left: 20px;
80     }
81 }
82
83 /* All levels of nav */
84 .bs-docs-sidebar .nav > li > a {
85     display: block;
86     padding: 4px 20px;
87     font-size: 14px;
88     font-weight: 500;
89     color: #999;
90 }
91 .bs-docs-sidebar .nav > li > a:hover,
92 .bs-docs-sidebar .nav > li > a:focus {
93     padding-left: 19px;
94     color: #A1283B;
95     text-decoration: none;
96     background-color: transparent;
97     border-left: 1px solid #A1283B;
98 }
99 .bs-docs-sidebar .nav > .active > a,
100 .bs-docs-sidebar .nav > .active:hover > a,
101 .bs-docs-sidebar .nav > .active:focus > a {
102     padding-left: 18px;
103     font-weight: bold;
104     color: #A1283B;
105     background-color: transparent;
106     border-left: 2px solid #A1283B;
107 }
108
109 /* Nav: second level (shown on .active) */
110 .bs-docs-sidebar .nav .nav {
111     display: none; /* Hide by default, but at >768px, show it */
112     padding-bottom: 10px;
113 }
114 .bs-docs-sidebar .nav .nav > li > a {
115     padding-top: 1px;
116     padding-bottom: 1px;
117     padding-left: 30px;
118     font-size: 12px;
119     font-weight: normal;
120 }
121 .bs-docs-sidebar .nav .nav > li > a:hover,
122 .bs-docs-sidebar .nav .nav > li > a:focus {
123     padding-left: 29px;
124 }
125 .bs-docs-sidebar .nav .nav > .active > a,
126 .bs-docs-sidebar .nav .nav > .active:hover > a,
127 .bs-docs-sidebar .nav .nav > .active:focus > a {
128     padding-left: 28px;
129     font-weight: 500;
130 }
131
132 /* Nav: third level (shown on .active) */
133 .bs-docs-sidebar .nav .nav .nav {
134     padding-bottom: 10px;
135 }
136 .bs-docs-sidebar .nav .nav .nav > li > a {
137     padding-top: 1px;
138     padding-bottom: 1px;
139     padding-left: 40px;
140     font-size: 12px;
141     font-weight: normal;
142 }
143 .bs-docs-sidebar .nav .nav .nav > li > a:hover,
144 .bs-docs-sidebar .nav .nav .nav > li > a:focus {
145     padding-left: 39px;
146 }
147 .bs-docs-sidebar .nav .nav .nav > .active > a,
148 .bs-docs-sidebar .nav .nav .nav > .active:hover > a,
149 .bs-docs-sidebar .nav .nav .nav > .active:focus > a {
150     padding-left: 38px;
151     font-weight: 500;
152 }
153
154 /* Show and affix the side nav when space allows it */
155 @media (min-width: 992px) {
156     .bs-docs-sidebar .nav > .active > ul {
157         display: block;
158     }
159     /* Widen the fixed sidebar */
160     .bs-docs-sidebar.affix,
161     .bs-docs-sidebar.affix-bottom {
162         width: 213px;
163     }
164     .bs-docs-sidebar.affix {
165         position: fixed; /* Undo the static from mobile first approach */
166         top: 20px;
167     }
168     .bs-docs-sidebar.affix-bottom {
169         position: absolute; /* Undo the static from mobile first approach */
170     }
171     .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
172         margin-top: 0;
173         margin-bottom: 0
174     }
175 }
176 @media (min-width: 1200px) {
177     /* Widen the fixed sidebar again */
178     .bs-docs-sidebar.affix-bottom,
179     .bs-docs-sidebar.affix {
180         width: 263px;
181     }
182 }
183 </style>
184 <script type="text/javascript">
185 $(function() {
186     'use strict';
187
188     $('.bs-docs-sidebar li').first().addClass('active');
189
190     $(document.body).scrollspy({target: '.bs-docs-sidebar'});
191
192     $('.bs-docs-sidebar').affix();
193 });
194 </script>
195 </head>
196 <body>
197 <div id="content" class="container">
198 <div class="row"><div class="col-md-9"><h1 class="title">Svjatoslav Commons - Java library of commonly used functions</h1>
199
200 <div id="outline-container-sec-1" class="outline-2">
201 <h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
202 <div class="outline-text-2" id="text-1">
203 <ul class="org-ul">
204 <li>This program is free software: released under Creative Commons Zero
205 (CC0) license
206 </li>
207
208 <li>Program author:
209 <ul class="org-ul">
210 <li>Svjatoslav Agejenko
211 </li>
212 <li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a>
213 </li>
214 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
215 </li>
216 </ul>
217 </li>
218
219 <li><a href="https://www.svjatoslav.eu/projects/">Other software projects hosted at svjatoslav.eu</a>
220 </li>
221 </ul>
222 </div>
223
224 <div id="outline-container-sec-1-1" class="outline-3">
225 <h3 id="sec-1-1"><span class="section-number-3">1.1</span> Source code</h3>
226 <div class="outline-text-3" id="text-1-1">
227 <ul class="org-ul">
228 <li><a href="https://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=snapshot;h=HEAD;sf=tgz">Download latest snapshot in TAR GZ format</a>
229 </li>
230
231 <li><a href="https://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=summary">Browse Git repository online</a>
232 </li>
233
234 <li>Clone Git repository using command:
235 <pre class="example">
236 git clone https://www2.svjatoslav.eu/git/svjatoslav_commons.git
237
238 </pre>
239 </li>
240
241 <li>See <a href="https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/">JavaDoc</a>.
242 </li>
243 </ul>
244 </div>
245 </div>
246 </div>
247
248 <div id="outline-container-sec-2" class="outline-2">
249 <h2 id="sec-2"><span class="section-number-2">2</span> Library contents</h2>
250 <div class="outline-text-2" id="text-2">
251 <ul class="org-ul">
252 <li>See <a href="https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/">JavaDoc</a>.
253 </li>
254
255 <li>Commandline Interface helper
256 <pre class="example">
257 eu.svjatoslav.commons.commandline.CLIHelper
258
259 </pre>
260 </li>
261
262 <li>Commandline arguments parser and validator.
263 <pre class="example">
264 eu.svjatoslav.commons.commandline.parameterparser
265
266 </pre>
267 </li>
268
269 <li>Bit input and output streams.
270 <pre class="example">
271 eu.svjatoslav.commons.data.BitInputStream
272 eu.svjatoslav.commons.data.BitOutputStream
273
274 </pre>
275 </li>
276
277 <li>Slightly enhanced data input and output streams.
278 <pre class="example">
279 eu.svjatoslav.commons.data.EnhancedDataInputStream
280 eu.svjatoslav.commons.data.EnhancedDataOutputStream
281
282 </pre>
283 </li>
284
285 <li>Byte array to HEX string converter.
286 <pre class="example">
287 eu.svjatoslav.commons.data.HexConverter
288
289 </pre>
290 </li>
291
292 <li>Utility that tries to quess user desktop directory. (Quite ugly and
293 unreliable. Better solution is needed.)
294 <pre class="example">
295 eu.svjatoslav.commons.file.CommonPathResolver
296
297 </pre>
298 </li>
299
300 <li>File path parser.
301 <pre class="example">
302 eu.svjatoslav.commons.file.FilePathParser
303
304 </pre>
305 </li>
306
307 <li>File IO helper.
308 <pre class="example">
309 eu.svjatoslav.commons.file.IOHelper
310
311 </pre>
312 </li>
313
314 <li>Graphical error dialog.
315 <ul class="org-ul">
316 <li>Reusable graphical dialog to capture and show program exceptions
317 and associated program call stack traceback.
318 <pre class="example">
319 eu.svjatoslav.commons.gui.dialog.ExceptionDialog
320
321 </pre>
322 </li>
323 </ul>
324 </li>
325
326 <li>Primitive and simple component to add navigation menus to the web
327 sites.
328 <pre class="example">
329 eu.svjatoslav.commons.network.navigation
330
331 </pre>
332 </li>
333
334 <li>String tokenizer.
335 <pre class="example">
336 eu.svjatoslav.commons.string.tokenizer
337
338 </pre>
339 </li>
340
341 <li>Improved String, optimized for dealing with prefixes and suffixes.
342 <pre class="example">
343 eu.svjatoslav.commons.string.String2
344
345 </pre>
346 </li>
347
348 <li>Wildcards matcher. (?, *)
349 <pre class="example">
350 eu.svjatoslav.commons.string.WildCardMatcher#match
351
352 </pre>
353 </li>
354 </ul>
355 </div>
356 </div>
357
358 <div id="outline-container-sec-3" class="outline-2">
359 <h2 id="sec-3"><span class="section-number-2">3</span> Usage</h2>
360 <div class="outline-text-2" id="text-3">
361 <p>
362 Instructions to embed svjatoslav-commons in your project as a library:
363 </p>
364
365 <p>
366 Maven pom.xml file snippet:
367 </p>
368
369 <div class="org-src-container">
370
371 <pre class="src src-xml">&lt;<span style="color: #A6E22E;">dependencies</span>&gt;
372     ...
373     &lt;<span style="color: #A6E22E;">dependency</span>&gt;
374         &lt;<span style="color: #A6E22E;">groupId</span>&gt;eu.svjatoslav&lt;/<span style="color: #A6E22E;">groupId</span>&gt;
375         &lt;<span style="color: #A6E22E;">artifactId</span>&gt;svjatoslavcommons&lt;/<span style="color: #A6E22E;">artifactId</span>&gt;
376         &lt;<span style="color: #A6E22E;">version</span>&gt;1.7&lt;/<span style="color: #A6E22E;">version</span>&gt;
377     &lt;/<span style="color: #A6E22E;">dependency</span>&gt;
378     ...
379 &lt;/<span style="color: #A6E22E;">dependencies</span>&gt;
380
381
382 &lt;<span style="color: #A6E22E;">repositories</span>&gt;
383     ...
384     &lt;<span style="color: #A6E22E;">repository</span>&gt;
385         &lt;<span style="color: #A6E22E;">id</span>&gt;svjatoslav.eu&lt;/<span style="color: #A6E22E;">id</span>&gt;
386         &lt;<span style="color: #A6E22E;">name</span>&gt;Svjatoslav repository&lt;/<span style="color: #A6E22E;">name</span>&gt;
387         &lt;<span style="color: #A6E22E;">url</span>&gt;http://www2.svjatoslav.eu/maven/&lt;/<span style="color: #A6E22E;">url</span>&gt;
388     &lt;/<span style="color: #A6E22E;">repository</span>&gt;
389     ...
390 &lt;/<span style="color: #A6E22E;">repositories</span>&gt;
391 </pre>
392 </div>
393 </div>
394 </div>
395 </div><div class="col-md-3"><nav id="table-of-contents">
396 <div id="text-table-of-contents" class="bs-docs-sidebar">
397 <ul class="nav">
398 <li><a href="#sec-1">1. General</a>
399 <ul class="nav">
400 <li><a href="#sec-1-1">1.1. Source code</a></li>
401 </ul>
402 </li>
403 <li><a href="#sec-2">2. Library contents</a></li>
404 <li><a href="#sec-3">3. Usage</a></li>
405 </ul>
406 </div>
407 </nav>
408 </div></div></div>
409 <footer id="postamble" class="">
410 <div><p class="author">Author: Svjatoslav Agejenko</p>
411 <p class="date">Created: 2020-05-01 Fri 23:39</p>
412 <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 26.1 (<a href="http://orgmode.org">Org-mode</a> 9.1.9)</p>
413 </div>
414 </footer>
415 </body>
416 </html>