This file is indexed.

/usr/share/doc/libosgi-compendium-java/api/org/osgi/service/prefs/Preferences.html is in libosgi-compendium-java-doc 4.3.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_23) on Mon Nov 21 22:05:26 UTC 2011 -->
<TITLE>
Preferences
</TITLE>

<META NAME="date" CONTENT="2011-11-21">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Preferences";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/osgi/service/prefs/PreferencesService.html" title="interface in org.osgi.service.prefs"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/osgi/service/prefs/Preferences.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Preferences.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.osgi.service.prefs</FONT>
<BR>
Interface Preferences</H2>
<HR>
<DL>
<DT><PRE>public interface <B>Preferences</B></DL>
</PRE>

<P>
A node in a hierarchical collection of preference data.
 
 <p>
 This interface allows applications to store and retrieve user and system
 preference data. This data is stored persistently in an
 implementation-dependent backing store. Typical implementations include flat
 files, OS-specific registries, directory servers and SQL databases.
 
 <p>
 For each bundle, there is a separate tree of nodes for each user, and one for
 system preferences. The precise description of "user" and "system" will vary
 from one bundle to another. Typical information stored in the user preference
 tree might include font choice, and color choice for a bundle which interacts
 with the user via a servlet. Typical information stored in the system
 preference tree might include installation data, or things like high score
 information for a game program.
 
 <p>
 Nodes in a preference tree are named in a similar fashion to directories in a
 hierarchical file system. Every node in a preference tree has a <i>node name
 </i> (which is not necessarily unique), a unique <i>absolute path name </i>,
 and a path name <i>relative </i> to each ancestor including itself.
 
 <p>
 The root node has a node name of the empty <code>String</code> object ("").
 Every other node has an arbitrary node name, specified at the time it is
 created. The only restrictions on this name are that it cannot be the empty
 string, and it cannot contain the slash character ('/').
 
 <p>
 The root node has an absolute path name of <code>"/"</code>. Children of the
 root node have absolute path names of <code>"/" + </code> <i>&lt;node name&gt;
 </i>. All other nodes have absolute path names of <i>&lt;parent's absolute
 path name&gt; </i> <code>+ "/" + </code> <i>&lt;node name&gt; </i>. Note that
 all absolute path names begin with the slash character.
 
 <p>
 A node <i>n </i>'s path name relative to its ancestor <i>a </i> is simply the
 string that must be appended to <i>a </i>'s absolute path name in order to
 form <i>n </i>'s absolute path name, with the initial slash character (if
 present) removed. Note that:
 <ul>
 <li>No relative path names begin with the slash character.
 <li>Every node's path name relative to itself is the empty string.
 <li>Every node's path name relative to its parent is its node name (except
 for the root node, which does not have a parent).
 <li>Every node's path name relative to the root is its absolute path name
 with the initial slash character removed.
 </ul>
 
 <p>
 Note finally that:
 <ul>
 <li>No path name contains multiple consecutive slash characters.
 <li>No path name with the exception of the root's absolute path name end in
 the slash character.
 <li>Any string that conforms to these two rules is a valid path name.
 </ul>
 
 <p>
 Each <code>Preference</code> node has zero or more properties associated with
 it, where a property consists of a name and a value. The bundle writer is
 free to choose any appropriate names for properties. Their values can be of
 type <code>String</code>,<code>long</code>,<code>int</code>,<code>boolean</code>,
 <code>byte[]</code>,<code>float</code>, or <code>double</code> but they can
 always be accessed as if they were <code>String</code> objects.
 
 <p>
 All node name and property name comparisons are case-sensitive.
 
 <p>
 All of the methods that modify preference data are permitted to operate
 asynchronously; they may return immediately, and changes will eventually
 propagate to the persistent backing store, with an implementation-dependent
 delay. The <code>flush</code> method may be used to synchronously force updates
 to the backing store.
 
 <p>
 Implementations must automatically attempt to flush to the backing store any
 pending updates for a bundle's preferences when the bundle is stopped or
 otherwise ungets the Preferences Service.
 
 <p>
 The methods in this class may be invoked concurrently by multiple threads in
 a single Java Virtual Machine (JVM) without the need for external
 synchronization, and the results will be equivalent to some serial execution.
 If this class is used concurrently <i>by multiple JVMs </i> that store their
 preference data in the same backing store, the data store will not be
 corrupted, but no other guarantees are made concerning the consistency of the
 preference data.
<P>

<P>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#absolutePath()">absolutePath</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's absolute path name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#childrenNames()">childrenNames</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the names of the children of this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all of the properties (key-value associations) in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#flush()">flush</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forces any changes in the contents of this node and its descendants to
 the persistent store.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)">get</A></B>(java.lang.String&nbsp;key,
    java.lang.String&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value associated with the specified <code>key</code> in this
 node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getBoolean(java.lang.String, boolean)">getBoolean</A></B>(java.lang.String&nbsp;key,
           boolean&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>boolean</code> value represented by the <code>String</code>
 object associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getByteArray(java.lang.String, byte[])">getByteArray</A></B>(java.lang.String&nbsp;key,
             byte[]&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>byte[]</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getDouble(java.lang.String, double)">getDouble</A></B>(java.lang.String&nbsp;key,
          double&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>double</code> value represented by the <code>String</code>
 object associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getFloat(java.lang.String, float)">getFloat</A></B>(java.lang.String&nbsp;key,
         float&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the float <code>value</code> represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getInt(java.lang.String, int)">getInt</A></B>(java.lang.String&nbsp;key,
       int&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>int</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getLong(java.lang.String, long)">getLong</A></B>(java.lang.String&nbsp;key,
        long&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>long</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#keys()">keys</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all of the keys that have an associated value in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#name()">name</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's name, relative to its parent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/osgi/service/prefs/Preferences.html" title="interface in org.osgi.service.prefs">Preferences</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#node(java.lang.String)">node</A></B>(java.lang.String&nbsp;pathName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a named <code>Preferences</code> object (node), creating it and any
 of its ancestors if they do not already exist.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#nodeExists(java.lang.String)">nodeExists</A></B>(java.lang.String&nbsp;pathName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the named node exists.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/osgi/service/prefs/Preferences.html" title="interface in org.osgi.service.prefs">Preferences</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#parent()">parent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this node, or <code>null</code> if this is the root.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#put(java.lang.String, java.lang.String)">put</A></B>(java.lang.String&nbsp;key,
    java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates the specified value with the specified key in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putBoolean(java.lang.String, boolean)">putBoolean</A></B>(java.lang.String&nbsp;key,
           boolean&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified
 <code>boolean</code> value with the specified key in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putByteArray(java.lang.String, byte[])">putByteArray</A></B>(java.lang.String&nbsp;key,
             byte[]&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified
 <code>byte[]</code> with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putDouble(java.lang.String, double)">putDouble</A></B>(java.lang.String&nbsp;key,
          double&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified
 <code>double</code> value with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putFloat(java.lang.String, float)">putFloat</A></B>(java.lang.String&nbsp;key,
         float&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified
 <code>float</code> value with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putInt(java.lang.String, int)">putInt</A></B>(java.lang.String&nbsp;key,
       int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified <code>int</code>
 value with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putLong(java.lang.String, long)">putLong</A></B>(java.lang.String&nbsp;key,
        long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates a <code>String</code> object representing the specified
 <code>long</code> value with the specified <code>key</code> in this node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#remove(java.lang.String)">remove</A></B>(java.lang.String&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the value associated with the specified <code>key</code> in this
 node, if any.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()">removeNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes this node and all of its descendants, invalidating any properties
 contained in the removed nodes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/osgi/service/prefs/Preferences.html#sync()">sync</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures that future reads from this node and its descendants reflect any
 changes that were committed to the persistent store (from any VM) prior
 to the <code>sync</code> invocation.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="put(java.lang.String, java.lang.String)"><!-- --></A><H3>
put</H3>
<PRE>
void <B>put</B>(java.lang.String&nbsp;key,
         java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Associates the specified value with the specified key in this node.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - key with which the specified value is to be associated.<DD><CODE>value</CODE> - value to be associated with the specified key.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> or <code>value</code> is
         <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.</DL>
</DD>
</DL>
<HR>

<A NAME="get(java.lang.String, java.lang.String)"><!-- --></A><H3>
get</H3>
<PRE>
java.lang.String <B>get</B>(java.lang.String&nbsp;key,
                     java.lang.String&nbsp;def)</PRE>
<DL>
<DD>Returns the value associated with the specified <code>key</code> in this
 node. Returns the specified default if there is no value associated with
 the <code>key</code>, or the backing store is inaccessible.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - key whose associated value is to be returned.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the value associated with <code>key</code>, or <code>def</code> if
         no value is associated with <code>key</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>. (A
         <code>null</code> default <i>is </i> permitted.)</DL>
</DD>
</DL>
<HR>

<A NAME="remove(java.lang.String)"><!-- --></A><H3>
remove</H3>
<PRE>
void <B>remove</B>(java.lang.String&nbsp;key)</PRE>
<DL>
<DD>Removes the value associated with the specified <code>key</code> in this
 node, if any.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - key whose mapping is to be removed from this node.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
void <B>clear</B>()
           throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Removes all of the properties (key-value associations) in this node. This
 call has no effect on any descendants of this node.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#remove(java.lang.String)"><CODE>remove(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putInt(java.lang.String, int)"><!-- --></A><H3>
putInt</H3>
<PRE>
void <B>putInt</B>(java.lang.String&nbsp;key,
            int&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified <code>int</code>
 value with the specified <code>key</code> in this node. The associated string
 is the one that would be returned if the <code>int</code> value were passed to
 <code>Integer.toString(int)</code>. This method is intended for use in
 conjunction with <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getInt(java.lang.String, int)"><CODE>getInt(String, int)</CODE></A> method.
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the property value
 be represented by a <code>String</code> object in the backing store. If the
 backing store supports integer values, it is not unreasonable to use
 them. This implementation detail is not visible through the
 <code>Preferences</code> API, which allows the value to be read as an
 <code>int</code> (with <code>getInt</code> or a <code>String</code> (with <code>get</code>)
 type.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - key with which the string form of value is to be associated.<DD><CODE>value</CODE> - <code>value</code> whose string form is to be associated with
        <code>key</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getInt(java.lang.String, int)"><CODE>getInt(String,int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getInt(java.lang.String, int)"><!-- --></A><H3>
getInt</H3>
<PRE>
int <B>getInt</B>(java.lang.String&nbsp;key,
           int&nbsp;def)</PRE>
<DL>
<DD>Returns the <code>int</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node. The
 <code>String</code> object is converted to an <code>int</code> as by
 <code>Integer.parseInt(String)</code>. Returns the specified default if there
 is no value associated with the <code>key</code>, the backing store is
 inaccessible, or if <code>Integer.parseInt(String)</code> would throw a
 <code>NumberFormatException</code> if the associated <code>value</code> were
 passed. This method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putInt(java.lang.String, int)"><CODE>putInt(String, int)</CODE></A> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - key whose associated value is to be returned as an <code>int</code>
        .<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value cannot
        be interpreted as an <code>int</code> or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the <code>int</code> value represented by the <code>String</code> object
         associated with <code>key</code> in this node, or <code>def</code> if the
         associated value does not exist or cannot be interpreted as an
         <code>int</code> type.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putInt(java.lang.String, int)"><CODE>putInt(String,int)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putLong(java.lang.String, long)"><!-- --></A><H3>
putLong</H3>
<PRE>
void <B>putLong</B>(java.lang.String&nbsp;key,
             long&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified
 <code>long</code> value with the specified <code>key</code> in this node. The
 associated <code>String</code> object is the one that would be returned if the
 <code>long</code> value were passed to <code>Long.toString(long)</code>. This
 method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getLong(java.lang.String, long)"><CODE>getLong(String, long)</CODE></A> method.
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the <code>value</code> be
 represented by a <code>String</code> type in the backing store. If the backing
 store supports <code>long</code> values, it is not unreasonable to use them.
 This implementation detail is not visible through the <code>Preferences</code>
 API, which allows the value to be read as a <code>long</code> (with
 <code>getLong</code> or a <code>String</code> (with <code>get</code>) type.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> with which the string form of <code>value</code> is to
        be associated.<DD><CODE>value</CODE> - <code>value</code> whose string form is to be associated with
        <code>key</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getLong(java.lang.String, long)"><CODE>getLong(String,long)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLong(java.lang.String, long)"><!-- --></A><H3>
getLong</H3>
<PRE>
long <B>getLong</B>(java.lang.String&nbsp;key,
             long&nbsp;def)</PRE>
<DL>
<DD>Returns the <code>long</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node. The
 <code>String</code> object is converted to a <code>long</code> as by
 <code>Long.parseLong(String)</code>. Returns the specified default if there is
 no value associated with the <code>key</code>, the backing store is
 inaccessible, or if <code>Long.parseLong(String)</code> would throw a
 <code>NumberFormatException</code> if the associated <code>value</code> were
 passed. This method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putLong(java.lang.String, long)"><CODE>putLong(String, long)</CODE></A> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> whose associated value is to be returned as a
        <code>long</code> value.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value cannot
        be interpreted as a <code>long</code> type or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the <code>long</code> value represented by the <code>String</code> object
         associated with <code>key</code> in this node, or <code>def</code> if the
         associated value does not exist or cannot be interpreted as a
         <code>long</code> type.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putLong(java.lang.String, long)"><CODE>putLong(String,long)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putBoolean(java.lang.String, boolean)"><!-- --></A><H3>
putBoolean</H3>
<PRE>
void <B>putBoolean</B>(java.lang.String&nbsp;key,
                boolean&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified
 <code>boolean</code> value with the specified key in this node. The associated
 string is "true" if the value is <code>true</code>, and "false" if it is
 <code>false</code>. This method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getBoolean(java.lang.String, boolean)"><CODE>getBoolean(String, boolean)</CODE></A> method.
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the value be
 represented by a string in the backing store. If the backing store
 supports <code>boolean</code> values, it is not unreasonable to use them. This
 implementation detail is not visible through the <code>Preferences
 </code> API, which
 allows the value to be read as a <code>boolean</code> (with <code>getBoolean</code>
 ) or a <code>String</code> (with <code>get</code>) type.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> with which the string form of value is to be
        associated.<DD><CODE>value</CODE> - value whose string form is to be associated with <code>key</code>
        .
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getBoolean(java.lang.String, boolean)"><CODE>getBoolean(String,boolean)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getBoolean(java.lang.String, boolean)"><!-- --></A><H3>
getBoolean</H3>
<PRE>
boolean <B>getBoolean</B>(java.lang.String&nbsp;key,
                   boolean&nbsp;def)</PRE>
<DL>
<DD>Returns the <code>boolean</code> value represented by the <code>String</code>
 object associated with the specified <code>key</code> in this node. Valid
 strings are "true", which represents <code>true</code>, and "false", which
 represents <code>false</code>. Case is ignored, so, for example, "TRUE" and
 "False" are also valid. This method is intended for use in conjunction
 with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putBoolean(java.lang.String, boolean)"><CODE>putBoolean(String, boolean)</CODE></A> method.
 
 <p>
 Returns the specified default if there is no value associated with the
 <code>key</code>, the backing store is inaccessible, or if the associated
 value is something other than "true" or "false", ignoring case.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> whose associated value is to be returned as a
        <code>boolean</code>.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value cannot
        be interpreted as a <code>boolean</code> or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the <code>boolean</code> value represented by the <code>String</code>
         object associated with <code>key</code> in this node, or <code>null</code>
         if the associated value does not exist or cannot be interpreted
         as a <code>boolean</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#putBoolean(java.lang.String, boolean)"><CODE>putBoolean(String,boolean)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putFloat(java.lang.String, float)"><!-- --></A><H3>
putFloat</H3>
<PRE>
void <B>putFloat</B>(java.lang.String&nbsp;key,
              float&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified
 <code>float</code> value with the specified <code>key</code> in this node. The
 associated <code>String</code> object is the one that would be returned if the
 <code>float</code> value were passed to <code>Float.toString(float)</code>. This
 method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getFloat(java.lang.String, float)"><CODE>getFloat(String, float)</CODE></A> method.
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the value be
 represented by a string in the backing store. If the backing store
 supports <code>float</code> values, it is not unreasonable to use them. This
 implementation detail is not visible through the <code>Preferences
 </code> API, which
 allows the value to be read as a <code>float</code> (with <code>getFloat</code>) or
 a <code>String</code> (with <code>get</code>) type.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> with which the string form of value is to be
        associated.<DD><CODE>value</CODE> - value whose string form is to be associated with <code>key</code>
        .
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getFloat(java.lang.String, float)"><CODE>getFloat(String,float)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getFloat(java.lang.String, float)"><!-- --></A><H3>
getFloat</H3>
<PRE>
float <B>getFloat</B>(java.lang.String&nbsp;key,
               float&nbsp;def)</PRE>
<DL>
<DD>Returns the float <code>value</code> represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node. The
 <code>String</code> object is converted to a <code>float</code> value as by
 <code>Float.parseFloat(String)</code>. Returns the specified default if there
 is no value associated with the <code>key</code>, the backing store is
 inaccessible, or if <code>Float.parseFloat(String)</code> would throw a
 <code>NumberFormatException</code> if the associated value were passed. This
 method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putFloat(java.lang.String, float)"><CODE>putFloat(String, float)</CODE></A> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> whose associated value is to be returned as a
        <code>float</code> value.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value cannot
        be interpreted as a <code>float</code> type or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the <code>float</code> value represented by the string associated with
         <code>key</code> in this node, or <code>def</code> if the associated value
         does not exist or cannot be interpreted as a <code>float</code> type.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putFloat(java.lang.String, float)"><CODE>putFloat(String,float)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putDouble(java.lang.String, double)"><!-- --></A><H3>
putDouble</H3>
<PRE>
void <B>putDouble</B>(java.lang.String&nbsp;key,
               double&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified
 <code>double</code> value with the specified <code>key</code> in this node. The
 associated <code>String</code> object is the one that would be returned if the
 <code>double</code> value were passed to <code>Double.toString(double)</code>. This
 method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getDouble(java.lang.String, double)"><CODE>getDouble(String, double)</CODE></A> method
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the value be
 represented by a string in the backing store. If the backing store
 supports <code>double</code> values, it is not unreasonable to use them. This
 implementation detail is not visible through the <code>Preferences
 </code> API, which
 allows the value to be read as a <code>double</code> (with <code>getDouble</code>)
 or a <code>String</code> (with <code>get</code>) type.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> with which the string form of value is to be
        associated.<DD><CODE>value</CODE> - value whose string form is to be associated with <code>key</code>
        .
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getDouble(java.lang.String, double)"><CODE>getDouble(String,double)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDouble(java.lang.String, double)"><!-- --></A><H3>
getDouble</H3>
<PRE>
double <B>getDouble</B>(java.lang.String&nbsp;key,
                 double&nbsp;def)</PRE>
<DL>
<DD>Returns the <code>double</code> value represented by the <code>String</code>
 object associated with the specified <code>key</code> in this node. The
 <code>String</code> object is converted to a <code>double</code> value as by
 <code>Double.parseDouble(String)</code>. Returns the specified default if
 there is no value associated with the <code>key</code>, the backing store
 is inaccessible, or if <code>Double.parseDouble(String)</code> would throw
 a <code>NumberFormatException</code> if the associated value were passed.
 This method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putDouble(java.lang.String, double)"><CODE>putDouble(java.lang.String, double)</CODE></A> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> whose associated value is to be returned as a
        <code>double</code> value.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value
        cannot be interpreted as a <code>double</code> type or the backing
        store is inaccessible.
<DT><B>Returns:</B><DD>the <code>double</code> value represented by the <code>String</code>
         object associated with <code>key</code> in this node, or
         <code>def</code> if the associated value does not exist or cannot
         be interpreted as a <code>double</code> type.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#putDouble(java.lang.String, double)"><CODE>putDouble(String,double)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putByteArray(java.lang.String, byte[])"><!-- --></A><H3>
putByteArray</H3>
<PRE>
void <B>putByteArray</B>(java.lang.String&nbsp;key,
                  byte[]&nbsp;value)</PRE>
<DL>
<DD>Associates a <code>String</code> object representing the specified
 <code>byte[]</code> with the specified <code>key</code> in this node. The
 associated <code>String</code> object the <i>Base64 </i> encoding of the
 <code>byte[]</code>, as defined in <a
 href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045 </a>, Section 6.8,
 with one minor change: the string will consist solely of characters from
 the <i>Base64 Alphabet </i>; it will not contain any newline characters.
 This method is intended for use in conjunction with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#getByteArray(java.lang.String, byte[])"><CODE>getByteArray(String, byte[])</CODE></A> method.
 
 <p>
 Implementor's note: it is <i>not </i> necessary that the value be
 represented by a <code>String</code> type in the backing store. If the backing
 store supports <code>byte[]</code> values, it is not unreasonable to use them.
 This implementation detail is not visible through the <code>Preferences</code>
 API, which allows the value to be read as an a <code>byte[]</code> object
 (with <code>getByteArray</code>) or a <code>String</code> object (with <code>get</code>
 ).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> with which the string form of <code>value</code> is to
        be associated.<DD><CODE>value</CODE> - <code>value</code> whose string form is to be associated with
        <code>key</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> or <code>value</code> is
         <code>null</code>.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#getByteArray(java.lang.String, byte[])"><CODE>getByteArray(String,byte[])</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getByteArray(java.lang.String, byte[])"><!-- --></A><H3>
getByteArray</H3>
<PRE>
byte[] <B>getByteArray</B>(java.lang.String&nbsp;key,
                    byte[]&nbsp;def)</PRE>
<DL>
<DD>Returns the <code>byte[]</code> value represented by the <code>String</code> object
 associated with the specified <code>key</code> in this node. Valid
 <code>String</code> objects are <i>Base64 </i> encoded binary data, as defined
 in <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045 </a>, Section
 6.8, with one minor change: the string must consist solely of characters
 from the <i>Base64 Alphabet </i>; no newline characters or extraneous
 characters are permitted. This method is intended for use in conjunction
 with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#putByteArray(java.lang.String, byte[])"><CODE>putByteArray(String, byte[])</CODE></A> method.
 
 <p>
 Returns the specified default if there is no value associated with the
 <code>key</code>, the backing store is inaccessible, or if the associated
 value is not a valid Base64 encoded byte array (as defined above).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <code>key</code> whose associated value is to be returned as a
        <code>byte[]</code> object.<DD><CODE>def</CODE> - the value to be returned in the event that this node has no
        value associated with <code>key</code> or the associated value cannot
        be interpreted as a <code>byte[]</code> type, or the backing store is
        inaccessible.
<DT><B>Returns:</B><DD>the <code>byte[]</code> value represented by the <code>String</code> object
         associated with <code>key</code> in this node, or <code>def</code> if the
         associated value does not exist or cannot be interpreted as a
         <code>byte[]</code>.
<DT><B>Throws:</B>
<DD><CODE>java.lang.NullPointerException</CODE> - if <code>key</code> is <code>null</code>. (A
         <code>null</code> value for <code>def</code> <i>is </i> permitted.)
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#get(java.lang.String, java.lang.String)"><CODE>get(String,String)</CODE></A>, 
<A HREF="../../../../org/osgi/service/prefs/Preferences.html#putByteArray(java.lang.String, byte[])"><CODE>putByteArray(String,byte[])</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="keys()"><!-- --></A><H3>
keys</H3>
<PRE>
java.lang.String[] <B>keys</B>()
                        throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Returns all of the keys that have an associated value in this node. (The
 returned array will be of size zero if this node has no preferences and
 not <code>null</code>!)
<P>
<DD><DL>

<DT><B>Returns:</B><DD>an array of the keys that have an associated value in this node.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.</DL>
</DD>
</DL>
<HR>

<A NAME="childrenNames()"><!-- --></A><H3>
childrenNames</H3>
<PRE>
java.lang.String[] <B>childrenNames</B>()
                                 throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Returns the names of the children of this node. (The returned array will
 be of size zero if this node has no children and not <code>null</code>!)
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the names of the children of this node.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.</DL>
</DD>
</DL>
<HR>

<A NAME="parent()"><!-- --></A><H3>
parent</H3>
<PRE>
<A HREF="../../../../org/osgi/service/prefs/Preferences.html" title="interface in org.osgi.service.prefs">Preferences</A> <B>parent</B>()</PRE>
<DL>
<DD>Returns the parent of this node, or <code>null</code> if this is the root.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the parent of this node.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.</DL>
</DD>
</DL>
<HR>

<A NAME="node(java.lang.String)"><!-- --></A><H3>
node</H3>
<PRE>
<A HREF="../../../../org/osgi/service/prefs/Preferences.html" title="interface in org.osgi.service.prefs">Preferences</A> <B>node</B>(java.lang.String&nbsp;pathName)</PRE>
<DL>
<DD>Returns a named <code>Preferences</code> object (node), creating it and any
 of its ancestors if they do not already exist. Accepts a relative or
 absolute pathname. Absolute pathnames (which begin with <code>'/'</code>)
 are interpreted relative to the root of this node. Relative pathnames
 (which begin with any character other than <code>'/'</code>) are
 interpreted relative to this node itself. The empty string (<code>""</code>)
 is a valid relative pathname, referring to this node itself.
 
 <p>
 If the returned node did not exist prior to this call, this node and any
 ancestors that were created by this call are not guaranteed to become
 persistent until the <code>flush</code> method is called on the returned
 node (or one of its descendants).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pathName</CODE> - the path name of the <code>Preferences</code> object to
        return.
<DT><B>Returns:</B><DD>the specified <code>Preferences</code> object.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the path name is invalid.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.
<DD><CODE>java.lang.NullPointerException</CODE> - if path name is <code>null</code>.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#flush()"><CODE>flush()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="nodeExists(java.lang.String)"><!-- --></A><H3>
nodeExists</H3>
<PRE>
boolean <B>nodeExists</B>(java.lang.String&nbsp;pathName)
                   throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Returns true if the named node exists. Accepts a relative or absolute
 pathname. Absolute pathnames (which begin with <code>'/'</code>) are
 interpreted relative to the root of this node. Relative pathnames (which
 begin with any character other than <code>'/'</code>) are interpreted
 relative to this node itself. The pathname <code>""</code> is valid, and
 refers to this node itself.
 
 <p>
 If this node (or an ancestor) has already been removed with the
 <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method, it <i>is </i> legal to invoke this method,
 but only with the pathname <code>""</code>; the invocation will return
 <code>false</code>. Thus, the idiom <code>p.nodeExists("")</code> may be
 used to test whether <code>p</code> has been removed.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pathName</CODE> - the path name of the node whose existence is to be
        checked.
<DT><B>Returns:</B><DD>true if the specified node exists.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method and
         <code>pathname</code> is not the empty string (<code>""</code>).
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the path name is invalid (i.e., it
         contains multiple consecutive slash characters, or ends with a
         slash character and is more than one character long).</DL>
</DD>
</DL>
<HR>

<A NAME="removeNode()"><!-- --></A><H3>
removeNode</H3>
<PRE>
void <B>removeNode</B>()
                throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Removes this node and all of its descendants, invalidating any properties
 contained in the removed nodes. Once a node has been removed, attempting
 any method other than <code>name()</code>,<code>absolutePath()</code> or
 <code>nodeExists("")</code> on the corresponding <code>Preferences</code>
 instance will fail with an <code>IllegalStateException</code>. (The
 methods defined on <code>Object</code> can still be invoked on a node after
 it has been removed; they will not throw <code>IllegalStateException</code>.)
 
 <p>
 The removal is not guaranteed to be persistent until the <code>flush</code>
 method is called on the parent of this node.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has already
         been removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#flush()"><CODE>flush()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="name()"><!-- --></A><H3>
name</H3>
<PRE>
java.lang.String <B>name</B>()</PRE>
<DL>
<DD>Returns this node's name, relative to its parent.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>this node's name, relative to its parent.</DL>
</DD>
</DL>
<HR>

<A NAME="absolutePath()"><!-- --></A><H3>
absolutePath</H3>
<PRE>
java.lang.String <B>absolutePath</B>()</PRE>
<DL>
<DD>Returns this node's absolute path name. Note that:
 <ul>
 <li>Root node - The path name of the root node is <code>"/"</code>.
 <li>Slash at end - Path names other than that of the root node may not
 end in slash (<code>'/'</code>).
 <li>Unusual names -<code>"."</code> and <code>".."</code> have <i>no </i>
 special significance in path names.
 <li>Illegal names - The only illegal path names are those that contain
 multiple consecutive slashes, or that end in slash and are not the root.
 </ul>
<P>
<DD><DL>

<DT><B>Returns:</B><DD>this node's absolute path name.</DL>
</DD>
</DL>
<HR>

<A NAME="flush()"><!-- --></A><H3>
flush</H3>
<PRE>
void <B>flush</B>()
           throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Forces any changes in the contents of this node and its descendants to
 the persistent store.
 
 <p>
 Once this method returns successfully, it is safe to assume that all
 changes made in the subtree rooted at this node prior to the method
 invocation have become permanent.
 
 <p>
 Implementations are free to flush changes into the persistent store at
 any time. They do not need to wait for this method to be called.
 
 <p>
 When a flush occurs on a newly created node, it is made persistent, as
 are any ancestors (and descendants) that have yet to be made persistent.
 Note however that any properties value changes in ancestors are <i>not
 </i> guaranteed to be made persistent.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#sync()"><CODE>sync()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="sync()"><!-- --></A><H3>
sync</H3>
<PRE>
void <B>sync</B>()
          throws <A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></PRE>
<DL>
<DD>Ensures that future reads from this node and its descendants reflect any
 changes that were committed to the persistent store (from any VM) prior
 to the <code>sync</code> invocation. As a side-effect, forces any changes
 in the contents of this node and its descendants to the persistent store,
 as if the <code>flush</code> method had been invoked on this node.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs">BackingStoreException</A></CODE> - if this operation cannot be completed due
         to a failure in the backing store, or inability to communicate
         with it.
<DD><CODE>java.lang.IllegalStateException</CODE> - if this node (or an ancestor) has been
         removed with the <A HREF="../../../../org/osgi/service/prefs/Preferences.html#removeNode()"><CODE>removeNode()</CODE></A> method.<DT><B>See Also:</B><DD><A HREF="../../../../org/osgi/service/prefs/Preferences.html#flush()"><CODE>flush()</CODE></A></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/osgi/service/prefs/BackingStoreException.html" title="class in org.osgi.service.prefs"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/osgi/service/prefs/PreferencesService.html" title="interface in org.osgi.service.prefs"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/osgi/service/prefs/Preferences.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Preferences.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>