%!PS-Adobe-3.0 %%BoundingBox: (atend) %%Pages: (atend) %%PageOrder: (atend) %%DocumentFonts: (atend) %%DocumentNeedsFonts: (atend) %%DocumentSuppliedFonts: (atend) %%Creator: Frame 5.5 %%DocumentData: Clean7Bit %%EndComments %%BeginProlog % % Frame ps_prolog 5.5, for use with Adobe Unix Frame 5.5 products % % This ps_prolog file is Copyright (c) 1986-1996 Adobe Systems, Incoporated. % All rights reserved. This ps_prolog file may be freely copied and % distributed in conjunction with documents created using FrameMaker, % FrameMaker+SGML, FrameReader, and FrameViewer as long as this % copyright notice is preserved. /FMDocSave save def % % FrameMaker users specify the proper paper size for each print job in the % "Print" dialog's "Printer Paper Size" "Width" and "Height~ fields. If the % printer that the PS file is sent to does not support the requested paper % size, or if there is no paper tray of the proper size currently installed, % then the job will not be printed. The following flag, if set to true, will % cause the job to print on the default paper in such cases. /FMAllowPaperSizeMismatch false def % % Frame products normally print colors as their true color on a color printer % or as shades of gray, based on luminance, on a black-and white printer. The % following flag, if set to true, forces all non-white colors to print as pure % black. This has no effect on bitmap images. /FMPrintAllColorsAsBlack false def % % Frame products can either set their own line screens or use a printer's % default settings. Three flags below control this separately for no % separations, spot separations and process separations. If a flag % is true, then the default printer settings will not be changed. If it is % false, Frame products will use their own settings from a table based on % the printer's resolution. /FMUseDefaultNoSeparationScreen true def /FMUseDefaultSpotSeparationScreen true def /FMUseDefaultProcessSeparationScreen false def % % For any given PostScript printer resolution, Frame products have two sets of % screen angles and frequencies for printing process separations, which are % recomended by Adobe. The following variable chooses the higher frequencies % when set to true or the lower frequencies when set to false. This is only % effective if the appropriate FMUseDefault...SeparationScreen flag is false. /FMUseHighFrequencyScreens true def % % The following is a set of predefined optimal frequencies and angles for various % common dpi settings. This is taken from "Advances in Color Separation Using % PostScript Software Technology," from Adobe Systems (3/13/89 P.N. LPS 0043) % and corrolated with information which is in various PPD (4.0) files. % % The "dpiranges" figure is the minimum dots per inch device resolution which % can support this setting. The "low" and "high" values are controlled by the % setting of the FMUseHighFrequencyScreens flag above. The "TDot" flags control % the use of the "Yellow Triple Dot" feature whereby the frequency id divided by % three, but the dot function is "trippled" giving a block of 3x3 dots per cell. % % PatFreq is a compromise pattern frequency for ps Level 2 printers which is close % to the ideal WYSIWYG pattern frequency of 9 repetitions/inch but does not beat % (too badly) against the screen frequencies of any separations for that DPI. /dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def /CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def /YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def /KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def /CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def /MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def /YLowTDot [ true true false true true false false false ] def /CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def /YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def /KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def /CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def /MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def /YHighTDot [ false false true false false true true false ] def /PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def % % PostScript Level 2 printers contain an "Accurate Screens" feature which can % improve process separation rendering at the expense of compute time. This % flag is ignored by PostScript Level 1 printers. /FMUseAcccurateScreens true def % % The following PostScript procedure defines the spot function that Frame % products will use for process separations. You may un-comment-out one of % the alternative functions below, or use your own. % % Dot function /FMSpotFunction {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub } {dup mul exch dup mul add 1 exch sub }ifelse } def % % Line function % /FMSpotFunction { pop } def % % Elipse function % /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add % sqrt 1 exch sub } def % % /FMversion (5.5) def /fMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def /FMPColor fMLevel1 { false /colorimage where {pop pop true} if } { true } ifelse def /FrameDict 400 dict def systemdict /errordict known not {/errordict 10 dict def errordict /rangecheck {stop} put} if % The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark % Some PS machines read past the CR, so keep the following 3 lines together! currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } bind def } if /FMshowpage /showpage load def /FMquit /quit load def /FMFAILURE { 2 copy exch = = flush FMshowpage /Helvetica findfont 12 scalefont setfont 72 200 moveto show 72 220 moveto show FMshowpage FMquit } def /FMVERSION { FMversion ne { (Adobe Frame product version does not match ps_prolog! Check installation;) (also check ~/fminit and ./fminit for old versions) FMFAILURE } if } def /fmConcatProcs { /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx }def FrameDict begin [ /ALDsave /FMdicttop /FMoptop /FMpointsize /FMsetsize /FMsaveobject /b /bitmapsave /blut /bpside /bs /bstring /bwidth /c /cf /cs /cynu /depth /edown /fh /fillvals /fw /fx /fy /g /gfile /gindex /grnt /gryt /gstring /height /hh /i /im /indx /is /k /kk /landscape /lb /len /llx /lly /m /magu /manualfeed /n /offbits /onbits /organgle /orgbangle /orgbfreq /orgbproc /orgbxfer /orgfreq /orggangle /orggfreq /orggproc /orggxfer /orghalftone /orgmatrix /orgproc /orgrangle /orgrfreq /orgrproc /orgrxfer /orgxfer /pagesave /paperheight /papersizedict /paperwidth /pos /pwid /r /rad /redt /sl /str /tran /u /urx /ury /val /width /width /ws /ww /x /x1 /x2 /xindex /xpoint /xscale /xx /y /y1 /y2 /yelu /yindex /ypoint /yscale /yy /tintGray ] { 0 def } forall /FmBD {bind def} bind def systemdict /pdfmark known systemdict /currentdistillerparams known and { /fMAcrobat true def /FmPD /pdfmark load def /FmPT /show load def currentdistillerparams /CoreDistVersion get 2000 ge { /FmPD2 /pdfmark load def /FmPA { mark exch /Dest exch 5 3 roll /View [ /XYZ null 6 -2 roll FmDC exch pop null] /DEST FmPD }FmBD } { /FmPD2 /cleartomark load def /FmPA {pop pop pop}FmBD } ifelse } { /fMAcrobat false def /FmPD /cleartomark load def /FmPD2 /cleartomark load def /FmPT /pop load def /FmPA {pop pop pop}FmBD } ifelse /FmDC { transform fMDefaultMatrix defaultmatrix itransform cvi exch cvi exch }FmBD /FmBx { dup 3 index lt {3 1 roll exch} if 1 index 4 index lt {4 -1 roll 3 1 roll exch 4 1 roll} if }FmBD /FMnone 0 def /FMcyan 1 def /FMmagenta 2 def /FMyellow 3 def /FMblack 4 def /FMcustom 5 def /fMNegative false def /FrameSepIs FMnone def /FrameSepBlack 0 def /FrameSepYellow 0 def /FrameSepMagenta 0 def /FrameSepCyan 0 def /FrameSepRed 1 def /FrameSepGreen 1 def /FrameSepBlue 1 def /FrameCurGray 1 def /FrameCurPat null def /FrameCurColors [ 0 0 0 1 0 0 0 1] def /FrameColorEpsilon .001 def /eqepsilon { sub dup 0 lt {neg} if FrameColorEpsilon le } bind def /FrameCmpColorsCMYK { 2 copy 0 get exch 0 get eqepsilon { 2 copy 1 get exch 1 get eqepsilon { 2 copy 2 get exch 2 get eqepsilon { 3 get exch 3 get eqepsilon } {pop pop false} ifelse }{pop pop false} ifelse } {pop pop false} ifelse } bind def /FrameCmpColorsRGB { 2 copy 4 get exch 0 get eqepsilon { 2 copy 5 get exch 1 get eqepsilon { 6 get exch 2 get eqepsilon }{pop pop false} ifelse } {pop pop false} ifelse } bind def /RGBtoCMYK { 1 exch sub 3 1 roll 1 exch sub 3 1 roll 1 exch sub 3 1 roll 3 copy 2 copy le { pop } { exch pop } ifelse 2 copy le { pop } { exch pop } ifelse dup dup dup 6 1 roll 4 1 roll 7 1 roll sub 6 1 roll sub 5 1 roll sub 4 1 roll } bind def /CMYKtoRGB { dup dup 4 -1 roll add 5 1 roll 3 -1 roll add 4 1 roll add 1 exch sub dup 0 lt {pop 0} if 3 1 roll 1 exch sub dup 0 lt {pop 0} if exch 1 exch sub dup 0 lt {pop 0} if exch } bind def /FrameSepInit { 1.0 RealSetgray } bind def /FrameSetSepColor { /FrameSepBlue exch def /FrameSepGreen exch def /FrameSepRed exch def /FrameSepBlack exch def /FrameSepYellow exch def /FrameSepMagenta exch def /FrameSepCyan exch def /FrameSepIs FMcustom def setCurrentScreen } bind def /FrameSetCyan { /FrameSepBlue 1.0 def /FrameSepGreen 1.0 def /FrameSepRed 0.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 1.0 def /FrameSepIs FMcyan def setCurrentScreen } bind def /FrameSetMagenta { /FrameSepBlue 1.0 def /FrameSepGreen 0.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 1.0 def /FrameSepCyan 0.0 def /FrameSepIs FMmagenta def setCurrentScreen } bind def /FrameSetYellow { /FrameSepBlue 0.0 def /FrameSepGreen 1.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 1.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMyellow def setCurrentScreen } bind def /FrameSetBlack { /FrameSepBlue 0.0 def /FrameSepGreen 0.0 def /FrameSepRed 0.0 def /FrameSepBlack 1.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMblack def setCurrentScreen } bind def /FrameNoSep { /FrameSepIs FMnone def setCurrentScreen } bind def /FrameSetSepColors { FrameDict begin [ exch 1 add 1 roll ] /FrameSepColors exch def end } bind def /FrameColorInSepListCMYK { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsCMYK { pop true exit } if } forall dup true ne {pop false} if } bind def /FrameColorInSepListRGB { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsRGB { pop true exit } if } forall dup true ne {pop false} if } bind def /RealSetgray /setgray load def /RealSetrgbcolor /setrgbcolor load def /RealSethsbcolor /sethsbcolor load def end /setgray { FrameDict begin FrameSepIs FMnone eq { RealSetgray } { FrameSepIs FMblack eq { RealSetgray } { FrameSepIs FMcustom eq FrameSepRed 0 eq and FrameSepGreen 0 eq and FrameSepBlue 0 eq and { RealSetgray } { 1 RealSetgray pop } ifelse } ifelse } ifelse end } bind def /setrgbcolor { FrameDict begin FrameSepIs FMnone eq { RealSetrgbcolor } { 3 copy [ 4 1 roll ] FrameColorInSepListRGB { FrameSepBlue eq exch FrameSepGreen eq and exch FrameSepRed eq and { 0 } { 1 } ifelse } { FMPColor { RealSetrgbcolor currentcmykcolor } { RGBtoCMYK } ifelse FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind def /sethsbcolor { FrameDict begin FrameSepIs FMnone eq { RealSethsbcolor } { RealSethsbcolor currentrgbcolor setrgbcolor } ifelse end } bind def FrameDict begin /setcmykcolor where { pop /RealSetcmykcolor /setcmykcolor load def } { /RealSetcmykcolor { 4 1 roll 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat RealSetrgbcolor pop } bind def } ifelse userdict /setcmykcolor { FrameDict begin FrameSepIs FMnone eq { RealSetcmykcolor } { 4 copy [ 5 1 roll ] FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and { 0 } { 1 } ifelse } { FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind put fMLevel1 { /patScreenDict 7 dict dup begin <0f1e3c78f0e1c387> [ 45 { pop } {exch pop} .5 2 sqrt] FmBD <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD [ 0 { pop } dup .5 2 ] FmBD [ 90 { pop } dup .5 2 ] FmBD <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD end def } { /patProcDict 5 dict dup begin <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -1 -1 moveto 9 9 lineto stroke } bind def <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def end def /patDict 15 dict dup begin /PatternType 1 def /PaintType 2 def /TilingType 3 def /BBox [ 0 0 8 8 ] def /XStep 8 def /YStep 8 def /PaintProc { begin patProcDict bstring known { patProcDict bstring get exec } { 8 8 true [1 0 0 -1 0 8] bstring imagemask } ifelse end } bind def end def } ifelse /tintCMYK { 1 tintGray sub FrameCurColors 0 4 getinterval aload pop 4 index mul 5 1 roll 3 index mul 5 1 roll 2 index mul 5 1 roll mul 4 1 roll }bind def /tintRGB { 1 tintGray sub FrameCurColors 4 3 getinterval aload pop 1 exch sub 3 index mul 1 exch sub 4 1 roll 1 exch sub 2 index mul 1 exch sub 4 1 roll 1 exch sub mul 1 exch sub 3 1 roll }bind def /combineColor { /tintGray 1 1 FrameCurGray sub FrameCurColors 7 get mul sub def FrameSepIs FMnone eq { graymode fMLevel1 or not { [/Pattern [/DeviceCMYK]] setcolorspace tintCMYK FrameCurPat setcolor } { FrameCurColors 3 get 1.0 ge { tintGray RealSetgray } { fMAcrobat not FMPColor graymode and and { tintCMYK RealSetcmykcolor } { tintRGB RealSetrgbcolor } ifelse } ifelse } ifelse } { FrameCurColors 0 4 getinterval aload FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and FrameSepIs FMcustom eq and { tintGray } { 1 } ifelse } { FrameSepIs FMblack eq {tintGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop tintGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop tintGray 1.0 exch sub mul 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop tintGray 1.0 exch sub mul 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse graymode fMLevel1 or not { [/Pattern [/DeviceGray]] setcolorspace FrameCurPat setcolor } { graymode not fMLevel1 and { dup 1 lt {pop FrameCurGray} if } if RealSetgray } ifelse } ifelse } bind def /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /fMDefaultMatrix matrix def /fMatrix2 matrix def /dpi 72 0 fMDefaultMatrix defaultmatrix dtransform dup mul exch dup mul add sqrt def /freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def /sangle 1 0 fMDefaultMatrix defaultmatrix dtransform exch atan def sangle fMatrix2 rotate fMDefaultMatrix defaultmatrix fMatrix2 concatmatrix dup 0 get /sflipx exch def 3 get /sflipy exch def /screenIndex { 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for } bind def /getCyanScreen { FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getMagentaScreen { FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getYellowScreen { FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse screenIndex dup 3 1 roll get 3 1 roll get { 3 div {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat FMSpotFunction } } {/FMSpotFunction load } ifelse 0.0 exch } bind def /getBlackScreen { FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse screenIndex get 45.0 /FMSpotFunction load } bind def /getSpotScreen { getBlackScreen } bind def /getCompositeScreen { getBlackScreen } bind def /FMSetScreen fMLevel1 { /setscreen load }{ { 8 dict begin /HalftoneType 1 def /SpotFunction exch def /Angle exch def /Frequency exch def /AccurateScreens FMUseAcccurateScreens def currentdict end sethalftone } bind } ifelse def /setDefaultScreen { fMLevel1 { FMPColor { orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer } { orgxfer cvx settransfer } ifelse orgfreq organgle orgproc cvx setscreen } { orghalftone sethalftone }ifelse } bind def /setCurrentScreen { FrameSepIs FMnone eq { FMUseDefaultNoSeparationScreen { setDefaultScreen } { getCompositeScreen FMSetScreen } ifelse } { FrameSepIs FMcustom eq { FMUseDefaultSpotSeparationScreen { setDefaultScreen } { getSpotScreen FMSetScreen } ifelse } { FMUseDefaultProcessSeparationScreen { setDefaultScreen } { FrameSepIs FMcyan eq { getCyanScreen FMSetScreen } { FrameSepIs FMmagenta eq { getMagentaScreen FMSetScreen } { FrameSepIs FMyellow eq { getYellowScreen FMSetScreen } { getBlackScreen FMSetScreen } ifelse } ifelse } ifelse } ifelse } ifelse } ifelse } bind def end /FMDOCUMENT { array /FMfonts exch def dup 1 gt {/#copies exch def} {pop} ifelse FrameDict begin 0 ne /manualfeed exch def /paperheight exch def /paperwidth exch def 0 ne /fMNegative exch def 0 ne /edown exch def /yscale exch def /xscale exch def fMLevel1 { manualfeed {setmanualfeed} if /FMdicttop countdictstack 1 add def /FMoptop count def setpapername manualfeed {true} {papersize} ifelse {manualpapersize} {false} ifelse {desperatepapersize} {false} ifelse {papersizefailure} if count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for } {2 dict dup /PageSize [paperwidth paperheight] put manualfeed {dup /ManualFeed manualfeed put} if {setpagedevice} stopped {papersizefailure} if } ifelse fMLevel1 not { /orghalftone currenthalftone def }if FMPColor { currentcolorscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def cvlit /orgbproc exch def /orgbangle exch def /orgbfreq exch def cvlit /orggproc exch def /orggangle exch def /orggfreq exch def cvlit /orgrproc exch def /orgrangle exch def /orgrfreq exch def currentcolortransfer fMNegative { 1 1 4 { pop { 1 exch sub } fmConcatProcs 4 1 roll } for 4 copy setcolortransfer } if cvlit /orgxfer exch def cvlit /orgbxfer exch def cvlit /orggxfer exch def cvlit /orgrxfer exch def } { currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def currenttransfer fMNegative { { 1 exch sub } fmConcatProcs dup settransfer } if cvlit /orgxfer exch def } ifelse end } def /FMENDDOCUMENT { FMDocSave restore } def /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto 0 paperheight lineto 0 0 lineto 1 setgray fill /landscape exch 0 ne def landscape { 90 rotate 0 exch dup /pwid exch def neg translate pop }{ pop /pwid exch def } ifelse edown { [-1 0 0 1 pwid 0] concat } if xscale yscale scale /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /FMFONTDEFINE { FrameDict begin findfont ReEncode 1 index exch definefont FMfonts 3 1 roll put end } def /FMFILLS { FrameDict begin dup array /fillvals exch def dict /patCache exch def end } def /FMFILL { FrameDict begin fillvals 3 1 roll put end } def /FMNORMALIZEGRAPHICS { newpath 1 setlinewidth 0 setlinecap 0 0 0 sethsbcolor 0 setgray } bind def /FMBEGINEPSF { end /FMEPSF save def /showpage {} def FMNORMALIZEGRAPHICS [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall fx fw 2 div add fy fh 2 div add translate rotate fw 2 div neg fh 2 div neg translate fw urx llx sub div fh ury lly sub div scale llx neg lly neg translate /FMdicttop countdictstack 1 add def /FMoptop count def } bind def /FMENDEPSF { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMEPSF restore FrameDict begin } bind def FrameDict begin /setmanualfeed { %%BeginFeature: *ManualFeed True statusdict /manualfeed true put %%EndFeature } bind def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /inch {72 mul} def /pagedimen { paperheight sub abs 16 lt exch paperwidth sub abs 16 lt and {/papername exch def} {pop} ifelse } bind def /setpapername { /papersizedict 14 dict def papersizedict begin /papername /unknown def /Letter 8.5 inch 11.0 inch pagedimen /LetterSmall 7.68 inch 10.16 inch pagedimen /Tabloid 11.0 inch 17.0 inch pagedimen /Ledger 17.0 inch 11.0 inch pagedimen /Legal 8.5 inch 14.0 inch pagedimen /Statement 5.5 inch 8.5 inch pagedimen /Executive 7.5 inch 10.0 inch pagedimen /A3 11.69 inch 16.5 inch pagedimen /A4 8.26 inch 11.69 inch pagedimen /A4Small 7.47 inch 10.85 inch pagedimen /B4 10.125 inch 14.33 inch pagedimen /B5 7.16 inch 10.125 inch pagedimen end } bind def /papersize { papersizedict begin /Letter {lettertray letter} def /LetterSmall {lettertray lettersmall} def /Tabloid {11x17tray 11x17} def /Ledger {ledgertray ledger} def /Legal {legaltray legal} def /Statement {statementtray statement} def /Executive {executivetray executive} def /A3 {a3tray a3} def /A4 {a4tray a4} def /A4Small {a4tray a4small} def /B4 {b4tray b4} def /B5 {b5tray b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end statusdict begin stopped end } bind def /manualpapersize { papersizedict begin /Letter {letter} def /LetterSmall {lettersmall} def /Tabloid {11x17} def /Ledger {ledger} def /Legal {legal} def /Statement {statement} def /Executive {executive} def /A3 {a3} def /A4 {a4} def /A4Small {a4small} def /B4 {b4} def /B5 {b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end stopped } bind def /desperatepapersize { mark statusdict begin /setpageparams where { pop paperwidth paperheight 0 1 {setpageparams} stopped } { true } ifelse { /setpagedevice where { pop 1 dict dup begin /PageSize [ paperwidth paperheight ] def end {setpagedevice} stopped } { true } ifelse } { false } ifelse end {cleartomark true}{cleartomark false}ifelse } bind def /papersizefailure { FMAllowPaperSizeMismatch not { (The requested paper size is not available in any currently-installed tray) (Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray) FMFAILURE } if } def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /ReEncode { dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall 0 eq {/Encoding DiacriticEncoding def} if currentdict end } bind def FMPColor { /BEGINBITMAPCOLOR { BITMAPCOLOR} def /BEGINBITMAPCOLORc { BITMAPCOLORc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUECOLOR } def /BEGINBITMAPTRUECOLORc { BITMAPTRUECOLORc } def /BEGINBITMAPCMYK { BITMAPCMYK } def /BEGINBITMAPCMYKc { BITMAPCMYKc } def } { /BEGINBITMAPCOLOR { BITMAPGRAY} def /BEGINBITMAPCOLORc { BITMAPGRAYc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUEGRAY } def /BEGINBITMAPTRUECOLORc { BITMAPTRUEGRAYc } def /BEGINBITMAPCMYK { BITMAPCMYKGRAY } def /BEGINBITMAPCMYKc { BITMAPCMYKGRAYc } def } ifelse /K { FMPrintAllColorsAsBlack { 8 1 roll dup 1 eq 2 index 1 eq and 3 index 1 eq and not {7 {pop} repeat 0 0 0 1 0 0 0} if 8 -1 roll } if FrameCurColors astore pop combineColor } bind def /graymode true def fMLevel1 { /fmGetFlip { fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse } FmBD } if /setPatternMode { fMLevel1 { 2 index patScreenDict exch known { pop pop patScreenDict exch get aload pop freq mul 5 2 roll fMatrix2 currentmatrix 1 get 0 ne { 3 -1 roll 90 add 3 1 roll sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul } { sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul } ifelse 0 lt {exch pop} {pop} ifelse fMNegative { {neg} fmConcatProcs } if bind systemdict /setscreen get exec /FrameCurGray exch def } { /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq sangle landscape {90 add} if {/ypoint exch def /xpoint exch def /xindex xpoint 1 add 2 div bpside mul cvi def /yindex ypoint 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen offbits offbits onbits add dup 0 ne {div} {pop pop .5} ifelse fMNegative {1.0 exch sub} if /FrameCurGray exch def } ifelse } { pop pop dup patCache exch known { patCache exch get } { dup patDict /bstring 3 -1 roll put patDict 9 PatFreq screenIndex get div dup matrix scale makepattern dup patCache 4 -1 roll 3 -1 roll put } ifelse /FrameCurGray 0 def /FrameCurPat exch def } ifelse /graymode false def combineColor } bind def /setGrayScaleMode { graymode not { /graymode true def fMLevel1 { setCurrentScreen } if } if /FrameCurGray exch def combineColor } bind def /normalize { transform round exch round exch itransform } bind def /dnormalize { dtransform round exch round exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /H { lnormalize setlinewidth } bind def /Z { setlinecap } bind def /PFill { graymode fMLevel1 or not { gsave 1 setgray eofill grestore } if } bind def /PStroke { graymode fMLevel1 or not { gsave 1 setgray stroke grestore } if stroke } bind def /X { fillvals exch get dup type /stringtype eq {8 1 setPatternMode} {setGrayScaleMode} ifelse } bind def /V { PFill gsave eofill grestore } bind def /Vclip { clip } bind def /Vstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /N { PStroke } bind def /Nclip { strokepath clip newpath } bind def /Nstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /M {newpath moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /rarc {rad arcto } bind def /RR { /rad exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def mark newpath { x1 y1 rad add moveto x1 y2 x2 y2 rarc x2 y2 x2 y1 rarc x2 y1 x1 y1 rarc x1 y1 x1 y2 rarc closepath } stopped {x1 y1 x2 y2 R} if cleartomark } bind def /RRR { /rad exch def normalize /y4 exch def /x4 exch def normalize /y3 exch def /x3 exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def newpath normalize moveto mark { x2 y2 x3 y3 rarc x3 y3 x4 y4 rarc x4 y4 x1 y1 rarc x1 y1 x2 y2 rarc closepath } stopped {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if cleartomark } bind def /C { grestore gsave R clip setCurrentScreen } bind def /CP { grestore gsave Y clip setCurrentScreen } bind def /F { FMfonts exch get [FMsetsize 0 0 FMpointsize 0 0] makefont setfont } bind def /Q { /FMpointsize exch def /FMsetsize FMpointsize def F } bind def /QQ { /FMsetsize exch def /FMpointsize exch def F } bind def /T { moveto show } bind def /RF { rotate 0 ne {-1 1 scale} if } bind def /TF { gsave moveto RF show grestore } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /PF { gsave moveto RF 0 32 3 2 roll widthshow grestore } bind def /S { moveto 0 exch ashow } bind def /SF { gsave moveto RF 0 exch ashow grestore } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /BF { gsave moveto RF 0 32 4 2 roll 0 exch awidthshow grestore } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /Gstrk { savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /Gclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GG { gsave newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /GGclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GGstrk { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /A { gsave savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 2 copy 0.0 0.0 1.0 5 3 roll arc round cvi 360 mod exch round cvi 360 mod eq {closepath} if restorematrix PStroke grestore } bind def /Aclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /Astrk { Gstrk } bind def /AA { gsave savematrix newpath 3 index 2 div add exch 4 index 2 div sub exch normalize 3 index 2 div sub exch 4 index 2 div add exch translate rotate scale 0.0 0.0 1.0 5 3 roll arc restorematrix PStroke grestore } bind def /AAclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /AAstrk { GGstrk } bind def /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 7 sub def /FMsaveobject save def userdict begin /showpage {} def FMNORMALIZEGRAPHICS 3 index neg 3 index neg translate } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /rip { bis ris copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop ris gis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop gis bis copy pop dup add is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /rip4 { kis cis copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop cis mis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop mis yis copy pop dup dup add is exch cf cs readline pop { ic exch get exec add } forall pop pop yis kis copy pop 3 mul is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /wbytes { dup dup 8 gt { pop 8 idiv mul } { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse } bind def /BEGINBITMAPBWc { 1 {} COMMONBITMAPc } bind def /BEGINBITMAPGRAYc { 8 {} COMMONBITMAPc } bind def /BEGINBITMAP2BITc { 2 {} COMMONBITMAPc } bind def /COMMONBITMAPc { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def cvtProc /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} image bitmapsave restore grestore } bind def /BEGINBITMAPBW { 1 {} COMMONBITMAP } bind def /BEGINBITMAPGRAY { 8 {} COMMONBITMAP } bind def /BEGINBITMAP2BIT { 2 {} COMMONBITMAP } bind def /COMMONBITMAP { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def cvtProc /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} image bitmapsave restore grestore } bind def /ngrayt 256 array def /nredt 256 array def /nbluet 256 array def /ngreent 256 array def fMLevel1 { /colorsetup { currentcolortransfer /gryt exch def /blut exch def /grnt exch def /redt exch def 0 1 255 { /indx exch def /cynu 1 red indx get 255 div sub def /magu 1 green indx get 255 div sub def /yelu 1 blue indx get 255 div sub def /kk cynu magu min yelu min def /u kk currentundercolorremoval exec def % /u 0 def nredt indx 1 0 cynu u sub max sub redt exec put ngreent indx 1 0 magu u sub max sub grnt exec put nbluet indx 1 0 yelu u sub max sub blut exec put ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put } for {255 mul cvi nredt exch get} {255 mul cvi ngreent exch get} {255 mul cvi nbluet exch get} {255 mul cvi ngrayt exch get} setcolortransfer {pop 0} setundercolorremoval {} setblackgeneration } bind def } { /colorSetup2 { [ /Indexed /DeviceRGB 255 {dup red exch get 255 div exch dup green exch get 255 div exch blue exch get 255 div} ] setcolorspace } bind def } ifelse /fakecolorsetup { /tran 256 string def 0 1 255 {/indx exch def tran indx red indx get 77 mul green indx get 151 mul blue indx get 28 mul add add 256 idiv put} for currenttransfer {255 mul cvi tran exch get 255.0 div} exch fmConcatProcs settransfer } bind def /BITMAPCOLOR { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def fMLevel1 { colorsetup /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} {is} {is} true 3 colorimage } { colorSetup2 /is width depth wbytes string def /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {cf is readhexstring pop} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPCOLORc { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def fMLevel1 { colorsetup /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} {is} {is} true 3 colorimage } { colorSetup2 /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {ip} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPTRUECOLORc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris} {gis} {bis} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYKc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLOR { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf gis readhexstring pop } { cf bis readhexstring pop } true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYK { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /mis width string def /yis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf mis readhexstring pop } { cf yis readhexstring pop } { cf kis readhexstring pop } true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUEGRAYc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris gis bis width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAYc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop cis mis yis kis width cgray} image bitmapsave restore grestore } bind def /cgray { /ww exch def /k exch def /y exch def /m exch def /c exch def 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add c i 3 -1 roll floor cvi put } for c } bind def /gray { /ww exch def /b exch def /g exch def /r exch def 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul b i get .114 mul add add r i 3 -1 roll floor cvi put } for r } bind def /BITMAPTRUEGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf gis readhexstring pop cf bis readhexstring pop width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /yis width string def /mis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf mis readhexstring pop cf yis readhexstring pop cf kis readhexstring pop width cgray} image bitmapsave restore grestore } bind def /BITMAPGRAY { 8 {fakecolorsetup} COMMONBITMAP } bind def /BITMAPGRAYc { 8 {fakecolorsetup} COMMONBITMAPc } bind def /ENDBITMAP { } bind def end /ALDmatrix matrix def ALDmatrix currentmatrix pop /StartALD { /ALDsave save def savematrix ALDmatrix setmatrix } bind def /InALD { restorematrix } bind def /DoneALD { ALDsave restore } bind def /I { setdash } bind def /J { [] 0 setdash } bind def %%EndProlog %%BeginSetup (5.5) FMVERSION 1 1 0 0 612 792 0 1 26 FMDOCUMENT %%IncludeFont: Times-Italic 0 0 /Times-Italic FMFONTDEFINE %%IncludeFont: Symbol 1 1 /Symbol FMFONTDEFINE %%IncludeFont: Times-Roman 2 0 /Times-Roman FMFONTDEFINE %%IncludeFont: Times-Bold 3 0 /Times-Bold FMFONTDEFINE %%IncludeFont: Courier 4 0 /Courier FMFONTDEFINE %%IncludeFont: Helvetica-Bold 5 0 /Helvetica-Bold FMFONTDEFINE %%IncludeFont: Helvetica 6 0 /Helvetica FMFONTDEFINE %%IncludeFont: Courier-Bold 7 0 /Courier-Bold FMFONTDEFINE %%IncludeFont: Courier-Oblique 8 0 /Courier-Oblique FMFONTDEFINE 32 FMFILLS 0 0 FMFILL 1 0.1 FMFILL 2 0.3 FMFILL 3 0.5 FMFILL 4 0.7 FMFILL 5 0.9 FMFILL 6 0.97 FMFILL 7 1 FMFILL 8 <0f1e3c78f0e1c387> FMFILL 9 <0f87c3e1f0783c1e> FMFILL 10 FMFILL 11 FMFILL 12 <8142241818244281> FMFILL 13 <03060c183060c081> FMFILL 14 <8040201008040201> FMFILL 16 1 FMFILL 17 0.9 FMFILL 18 0.7 FMFILL 19 0.5 FMFILL 20 0.3 FMFILL 21 0.1 FMFILL 22 0.03 FMFILL 23 0 FMFILL 24 FMFILL 25 FMFILL 26 <3333333333333333> FMFILL 27 <0000ffff0000ffff> FMFILL 28 <7ebddbe7e7dbbd7e> FMFILL 29 FMFILL 30 <7fbfdfeff7fbfdfe> FMFILL %%EndSetup %%Page: "i" 1 %%BeginPaperSize: Letter %%EndPaperSize 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K J 54 54 558 720 R 7 X V 54 605/G1.83119 FmPA 54 585/G1.83120 FmPA 54 565/G1.150524 FmPA 0 12 Q 0 X (Please send technical comments to jndi@java.sun.com.) 108 401 T 54 545/G1.150081 FmPA (Please send product and business questions to jndi-business@java.sun.com.) 108 381 T 54 525/G1.150492 FmPA 54 505/G1.149923 FmPA 54 485/G1.150313 FmPA 54 465/G1.150315 FmPA 54 445/G1.150314 FmPA 54 425/G1.149924 FmPA 54 54 558 720 C 54 477 558 720 C 0 0 0 1 0 0 0 1 K 54 477 558 720 R 7 X V 108 598.5 357.98 639 R V 0 24 Q 0 X (Sun Microsystems, Inc.) 108 623 T 108 767/G1.82918 FmPA 108 504 558 585 R 7 X V 0 X (Java Naming and Directory Interface) 175.37 569 T 1 F (\324) 536.64 569 T 108 713/G1.82919 FmPA 0 F (Application Programming Interface) 212.69 543 T 108 687/G1.150499 FmPA (\050JNDI API\051) 446.71 517 T 108 661/G1.150518 FmPA 54 657 558 666 R 3 X V 0.5 H 0 Z N 54 666 558 666 2 L V 1 H 2 Z 0 X N 108 598.5 558 598.5 2 L 7 X V 0.5 H 0 X N 54 486 558 486 2 L 7 X V 1 H 0 X N 0 0 0 1 0 0 0 1 K 134.55 698.71 M 133.92 698.65 E 133.29 698.48 E 132.66 698.2 E 132.03 697.84 E 131.42 697.41 E 130.81 696.93 E 129.67 695.8 E 128.62 694.61 E 127.71 693.43 E 126.39 691.55 E 126.36 691.46 E 126.32 691.46 E 126.33 691.59 E 127.19 694.61 E 127.5 695.92 E 127.58 696.53 E 127.61 697.08 E 127.59 697.4 E 127.53 697.72 E 127.42 698.01 E 127.26 698.27 E 127.06 698.49 E 126.79 698.66 E 126.47 698.77 E 126.08 698.81 E 125.62 698.77 E 125.16 698.61 E 124.67 698.38 E 124.18 698.07 E 123.69 697.7 E 123.21 697.28 E 122.29 696.35 E 121.49 695.36 E 120.86 694.41 E 120.43 693.6 E 120.31 693.27 E 120.28 693.02 E 120.33 692.71 E 120.42 692.63 E 120.52 692.6 E 120.68 692.64 E 120.83 692.74 E 121.14 693.1 E 121.91 694.22 E 122.54 694.99 E 123.17 695.71 E 123.47 696.01 E 123.77 696.24 E 124.04 696.4 E 124.27 696.45 E 124.35 696.43 E 124.42 696.38 E 124.46 696.25 E 124.48 696.03 E 124.36 695.2 E 124 693.84 E 122.83 690.13 E 121.44 685.94 E 120.25 682.25 E 120.23 681.98 E 120.3 681.88 E 120.43 681.8 E 120.9 681.73 E 121.7 681.7 E 122.32 681.69 E 122.57 681.69 E 122.77 681.72 E 122.94 681.79 E 123.08 681.89 E 123.19 682.06 E 123.26 682.29 E 123.96 684.39 E 124.84 686.55 E 125.88 688.7 E 127.01 690.75 E 127.62 691.73 E 128.35 692.77 E 129.15 693.79 E 130 694.75 E 130.88 695.6 E 131.71 696.27 E 132.12 696.52 E 132.51 696.71 E 132.87 696.83 E 133.2 696.87 E 133.46 696.82 E 133.57 696.76 E 133.66 696.66 E 133.79 696.4 E 133.83 696.01 E 133.78 695.61 E 133.64 695.07 E 133.13 693.65 E 131.62 689.94 E 130.82 687.91 E 130.13 685.96 E 129.67 684.22 E 129.54 683.47 E 129.52 682.81 E 129.6 682.19 E 129.71 681.92 E 129.85 681.69 E 130.05 681.51 E 130.31 681.37 E 130.62 681.28 E 131.01 681.24 E 131.51 681.28 E 131.99 681.41 E 132.46 681.6 E 132.92 681.85 E 133.37 682.16 E 133.81 682.51 E 134.62 683.33 E 135.37 684.24 E 136.03 685.17 E 136.6 686.08 E 137.05 686.88 E 137.2 687.12 E 137.32 687.37 E 137.37 687.51 E 137.37 687.64 E 137.34 687.77 E 137.26 687.91 E 137.21 688.01 E 137.11 688.08 E 136.88 688.12 E 136.73 688.06 E 136.61 687.91 E 135.92 686.73 E 135.49 686.05 E 135.04 685.37 E 134.56 684.76 E 134.09 684.25 E 133.86 684.05 E 133.63 683.9 E 133.42 683.79 E 133.2 683.75 E 133.07 683.79 E 132.96 683.87 E 132.89 684.13 E 133.06 684.9 E 133.49 686.16 E 134.84 689.61 E 135.55 691.51 E 136.17 693.34 E 136.62 694.95 E 136.74 695.63 E 136.78 696.21 E 136.74 696.84 E 136.68 697.13 E 136.61 697.38 E 136.4 697.81 E 136.12 698.15 E 135.8 698.4 E 135.42 698.57 E 135 698.68 E 134.55 698.71 E O V 102.76 692.64 M 102.79 692.5 E 102.86 692.39 E 102.97 692.31 E 103.12 692.28 E 103.28 692.32 E 103.43 692.45 E 103.77 692.92 E 104.23 693.68 E 104.92 694.68 E 105.41 695.34 E 105.91 695.86 E 106.38 696.22 E 106.59 696.32 E 106.76 696.35 E 106.95 696.31 E 107.05 696.2 E 107.09 696.05 E 107.1 695.9 E 107.07 695.62 E 106.93 695.2 E 106.49 693.94 E 105.12 690.41 E 104.4 688.42 E 103.76 686.47 E 103.32 684.7 E 103.19 683.93 E 103.14 683.26 E 103.16 682.89 E 103.23 682.53 E 103.34 682.2 E 103.52 681.89 E 103.74 681.64 E 104.04 681.45 E 104.41 681.33 E 104.85 681.28 E 105.43 681.33 E 106.01 681.45 E 106.59 681.66 E 107.17 681.94 E 107.75 682.29 E 108.33 682.69 E 108.9 683.15 E 109.46 683.64 E 110.58 684.77 E 111.63 686 E 112.64 687.3 E 113.57 688.61 E 113.69 688.68 E 113.72 688.64 E 113.71 688.54 E 113.33 687.27 E 112.94 685.74 E 112.64 684.16 E 112.53 682.74 E 112.57 682.21 E 112.63 681.96 E 112.74 681.72 E 112.9 681.52 E 113.12 681.36 E 113.4 681.25 E 113.78 681.21 E 114.3 681.27 E 114.82 681.44 E 115.36 681.72 E 115.9 682.07 E 116.42 682.49 E 116.93 682.97 E 117.43 683.49 E 117.9 684.03 E 118.73 685.16 E 119.1 685.71 E 119.4 686.23 E 119.65 686.72 E 119.84 687.14 E 119.95 687.51 E 119.99 687.78 E 119.92 688.06 E 119.83 688.15 E 119.68 688.19 E 119.54 688.16 E 119.41 688.08 E 119.19 687.75 E 118.96 687.29 E 118.68 686.73 E 117.97 685.7 E 117.18 684.71 E 116.8 684.3 E 116.43 683.97 E 116.11 683.76 E 115.96 683.7 E 115.82 683.68 E 115.69 683.73 E 115.61 683.84 E 115.58 684.17 E 115.76 685.25 E 116.25 687 E 116.93 689.18 E 117.71 691.53 E 119.16 695.8 E 119.82 697.84 E 119.81 698.03 E 119.75 698.16 E 119.62 698.26 E 119.37 698.29 E 118.01 698.33 E 117.33 698.3 E 116.96 698.21 E 116.78 698.1 E 116.7 697.95 E 116.22 696.75 E 115.58 694.91 E 115.19 693.84 E 114.74 692.71 E 114.22 691.56 E 113.63 690.41 E 112.76 688.99 E 111.83 687.67 E 110.89 686.48 E 109.97 685.44 E 109.09 684.59 E 108.68 684.24 E 108.29 683.95 E 107.93 683.72 E 107.6 683.55 E 107.3 683.44 E 107.04 683.4 E 106.73 683.47 E 106.5 683.64 E 106.35 683.92 E 106.3 684.27 E 106.35 684.68 E 106.49 685.24 E 106.96 686.72 E 108.41 690.56 E 109.19 692.6 E 109.85 694.49 E 110.33 696.07 E 110.46 696.7 E 110.51 697.18 E 110.45 697.64 E 110.36 697.9 E 110.22 698.16 E 110.02 698.39 E 109.75 698.57 E 109.6 698.65 E 109.41 698.7 E 108.98 698.75 E 108.36 698.69 E 107.75 698.51 E 107.16 698.24 E 106.59 697.88 E 106.05 697.46 E 105.53 696.98 E 105.06 696.46 E 104.61 695.92 E 103.85 694.84 E 103.26 693.85 E 102.9 693.08 E 102.76 692.64 E O V 92.28 699.09 M 92.33 698.13 E 92.5 697.22 E 92.79 696.38 E 93.15 695.56 E 93.59 694.79 E 94.08 694.04 E 95.16 692.61 E 96.24 691.22 E 96.73 690.51 E 97.17 689.79 E 97.54 689.06 E 97.82 688.29 E 97.99 687.48 E 98.03 686.63 E 98.02 686.37 E 97.99 686.07 E 97.93 685.74 E 97.83 685.37 E 97.71 684.99 E 97.55 684.61 E 97.36 684.23 E 97.12 683.85 E 96.85 683.49 E 96.54 683.16 E 96.19 682.85 E 95.78 682.59 E 95.34 682.37 E 94.84 682.21 E 94.28 682.11 E 93.67 682.08 E 93.04 682.15 E 92.73 682.22 E 92.43 682.33 E 92.14 682.47 E 91.87 682.63 E 91.61 682.82 E 91.36 683.05 E 91.14 683.32 E 90.95 683.62 E 90.78 683.96 E 90.63 684.33 E 90.51 684.75 E 90.43 685.19 E 90.38 685.69 E 90.36 686.21 E 90.36 688.3 E 90.32 688.58 E 90.19 688.86 E 89.97 688.97 E 89.84 688.99 E 89.71 688.96 E 89.52 688.8 E 89.38 688.6 E 89.18 688.16 E 88.63 685.41 E 88.62 685.37 E 88.64 685.35 E 88.66 685.35 E 88.63 685.35 E 88.45 684.34 E 88.36 683.33 E 88.36 683.18 E 88.38 683.03 E 88.51 682.77 E 88.7 682.54 E 88.94 682.36 E 89.45 682.11 E 89.97 681.88 E 90.53 681.68 E 91.11 681.5 E 91.71 681.36 E 92.34 681.25 E 93 681.18 E 93.67 681.14 E 94.48 681.18 E 95.28 681.3 E 96.04 681.5 E 96.78 681.77 E 97.48 682.11 E 98.15 682.51 E 98.77 682.97 E 99.34 683.48 E 99.86 684.04 E 100.33 684.63 E 100.74 685.26 E 101.08 685.91 E 101.36 686.58 E 101.57 687.28 E 101.7 687.98 E 101.75 688.68 E 101.74 689.23 E 101.68 689.75 E 101.59 690.26 E 101.47 690.73 E 101.32 691.19 E 101.14 691.63 E 100.93 692.05 E 100.69 692.46 E 100.17 693.27 E 99.56 694.06 E 98.21 695.69 E 97.38 696.66 E 96.92 697.21 E 96.46 697.8 E 96.06 698.45 E 95.74 699.14 E 95.54 699.88 E 95.47 700.66 E 95.49 700.99 E 95.54 701.32 E 95.63 701.64 E 95.74 701.96 E 95.88 702.29 E 96.06 702.58 E 96.27 702.88 E 96.51 703.14 E 96.79 703.4 E 97.08 703.63 E 97.42 703.83 E 97.77 703.99 E 98.16 704.13 E 98.58 704.23 E 99.02 704.29 E 99.49 704.3 E 99.81 704.29 E 100.11 704.25 E 100.63 704.11 E 100.86 704.03 E 101.07 703.91 E 101.43 703.66 E 101.74 703.34 E 101.97 702.99 E 102.15 702.6 E 102.29 702.17 E 102.39 701.73 E 102.46 701.29 E 102.51 700.38 E 102.52 698.81 E 102.54 698.57 E 102.57 698.47 E 102.65 698.39 E 102.9 698.27 E 103.17 698.29 E 103.31 698.43 E 103.38 698.57 E 104.25 701.84 E 104.51 702.73 E 104.62 703.21 E 104.67 703.71 E 104.64 703.85 E 104.57 703.97 E 104.35 704.2 E 103.7 704.53 E 103.1 704.78 E 102.53 704.98 E 101.97 705.12 E 101.44 705.23 E 100.89 705.29 E 99.7 705.34 E 98.92 705.32 E 98.16 705.23 E 97.43 705.08 E 96.74 704.86 E 96.09 704.59 E 95.48 704.27 E 94.91 703.89 E 94.39 703.47 E 93.92 703.01 E 93.5 702.52 E 93.15 702.01 E 92.85 701.46 E 92.61 700.89 E 92.43 700.31 E 92.32 699.7 E 92.28 699.09 E O V 60.67 691.17 60.27 690.85 59.82 690.61 59.36 690.47 58.86 690.42 58.38 690.47 57.9 690.61 57.45 690.85 57.04 691.17 56.72 691.58 56.48 692.03 56.34 692.5 56.29 692.99 56.34 693.48 56.48 693.95 56.72 694.4 57.04 694.8 62.98 700.73 64.57 699.15 58.6 693.17 59.04 692.72 65.02 698.7 66.61 697.11 60.67 691.17 60.67 691.17 25 Y V 65.29 694.86 65.7 695.2 66.15 695.42 66.39 695.51 66.63 695.57 66.88 695.6 67.11 695.61 67.61 695.57 68.07 695.42 68.3 695.33 68.52 695.2 68.92 694.86 69.25 694.46 69.48 694.02 69.62 693.55 69.67 693.05 69.62 692.57 69.48 692.09 69.25 691.65 68.92 691.24 62.98 685.31 61.39 686.9 67.37 692.86 66.92 693.31 60.94 687.34 59.36 688.93 65.29 694.86 65.29 694.86 28 Y V 72.99 682.56 73.32 682.16 73.56 681.71 73.7 681.24 73.75 680.75 73.7 680.26 73.56 679.79 73.32 679.34 72.99 678.93 72.58 678.61 72.14 678.37 71.67 678.23 71.18 678.18 70.69 678.23 70.21 678.37 69.77 678.61 69.36 678.93 63.43 684.87 65.02 686.45 71 680.47 71.44 680.93 65.47 686.91 67.06 688.5 72.99 682.56 72.99 682.56 25 Y V 69.3 687.17 68.98 687.58 68.74 688.03 68.6 688.51 68.55 688.99 68.6 689.49 68.74 689.95 68.98 690.39 69.3 690.79 69.71 691.12 70.16 691.35 70.4 691.44 70.63 691.49 70.88 691.53 71.12 691.54 71.61 691.49 72.08 691.35 72.31 691.26 72.53 691.12 72.93 690.79 78.86 684.87 77.28 683.28 71.29 689.26 70.84 688.81 76.82 682.83 75.23 681.24 69.3 687.17 69.3 687.17 28 Y V 77 691.17 76.6 690.85 76.15 690.61 75.68 690.47 75.18 690.42 74.7 690.47 74.22 690.61 73.78 690.85 73.38 691.17 73.05 691.58 72.81 692.03 72.67 692.5 72.62 692.99 72.67 693.48 72.81 693.95 73.05 694.4 73.38 694.8 79.3 700.73 80.89 699.15 74.92 693.17 75.36 692.72 81.34 698.7 82.93 697.11 77 691.17 77 691.17 25 Y V 81.62 694.86 82.03 695.2 82.47 695.42 82.71 695.51 82.95 695.57 83.2 695.6 83.43 695.61 83.93 695.57 84.4 695.42 84.62 695.33 84.84 695.2 85.24 694.86 85.58 694.46 85.8 694.02 85.95 693.55 86 693.05 85.95 692.57 85.8 692.09 85.58 691.65 85.24 691.24 79.3 685.32 77.72 686.9 83.7 692.86 83.24 693.31 77.27 687.34 75.69 688.93 81.62 694.86 81.62 694.86 28 Y V 72.99 698.87 73.32 698.47 73.56 698.02 73.7 697.56 73.75 697.06 73.7 696.58 73.56 696.1 73.32 695.65 72.99 695.24 72.58 694.92 72.14 694.68 71.67 694.54 71.18 694.49 70.69 694.54 70.21 694.68 69.77 694.92 69.36 695.24 63.43 701.18 65.02 702.77 71 696.79 71.44 697.24 65.47 703.22 67.06 704.81 72.99 698.87 72.99 698.87 25 Y V 69.3 703.49 68.98 703.9 68.74 704.34 68.6 704.82 68.55 705.3 68.6 705.8 68.74 706.26 68.98 706.71 69.3 707.11 69.71 707.44 70.16 707.67 70.4 707.76 70.63 707.82 70.88 707.85 71.12 707.86 71.61 707.82 72.08 707.67 72.31 707.58 72.53 707.44 72.93 707.11 78.86 701.18 77.28 699.59 71.29 705.57 70.84 705.12 76.82 699.15 75.23 697.56 69.3 703.49 69.3 703.49 28 Y V 94.41 674.32 94.41 676.62 94.38 676.95 94.29 677.21 94.11 677.37 93.81 677.43 93.62 677.41 93.43 677.33 93.25 677.22 93.09 677.06 92.97 676.86 92.87 676.62 92.8 676.34 92.77 676.03 92.77 674.32 92.11 674.32 92.11 676.62 92.1 676.93 92 677.19 91.82 677.37 91.51 677.43 91.31 677.4 91.11 677.32 90.93 677.2 90.78 677.04 90.66 676.83 90.56 676.59 90.5 676.32 90.48 676.03 90.48 674.32 89.81 674.32 89.81 677.9 90.46 677.9 90.4 677.15 90.41 677.14 90.62 677.48 90.92 677.74 91.28 677.91 91.69 677.97 92.18 677.88 92.49 677.67 92.66 677.41 92.71 677.16 92.89 677.43 93.14 677.69 93.5 677.89 93.98 677.97 94.45 677.9 94.64 677.82 94.79 677.68 94.91 677.52 95.01 677.32 95.08 676.8 95.08 674.32 94.41 674.32 55 Y V 100.12 674.27 99.79 674.29 99.49 674.35 99.22 674.47 98.98 674.63 98.78 674.87 98.62 675.16 98.54 675.54 98.5 675.99 98.53 676.41 98.61 676.79 98.76 677.12 98.96 677.41 99.22 677.65 99.54 677.82 99.92 677.92 100.35 677.96 100.78 677.93 101.18 677.85 101.11 677.28 100.74 677.38 100.32 677.43 99.83 677.33 99.64 677.22 99.48 677.06 99.27 676.64 99.2 676.08 99.25 675.58 99.42 675.18 99.57 675.04 99.75 674.91 99.99 674.85 100.26 674.82 100.73 674.87 101.14 675.01 101.19 674.45 100.73 674.33 100.44 674.29 100.12 674.27 39 Y V 104.02 677.33 103.75 677.35 103.52 677.3 103.32 677.19 103.15 677.02 103.03 676.79 102.94 676.5 102.87 675.75 102.87 674.32 102.2 674.32 102.2 677.9 102.85 677.9 102.83 677.5 102.76 677.05 102.78 677.05 102.94 677.42 103.2 677.72 103.56 677.93 103.79 677.97 104.05 677.96 104.02 677.33 21 Y V 106.36 674.8 106.36 674.25 106.68 674.29 107.04 674.4 107.35 674.57 107.61 674.8 107.82 675.09 107.97 675.42 108.07 675.78 108.1 676.17 108.07 676.62 107.98 677 107.83 677.3 107.63 677.55 107.38 677.74 107.09 677.86 106.78 677.94 106.44 677.96 106.36 677.95 106.36 677.42 106.38 677.43 106.62 677.41 106.83 677.34 107.01 677.24 107.15 677.09 107.26 676.9 107.33 676.68 107.4 676.13 107.38 675.81 107.32 675.54 107.23 675.32 107.09 675.12 106.95 674.98 106.77 674.88 106.59 674.82 106.38 674.8 106.36 674.8 37 Y V 106.36 677.42 106.36 677.95 106.05 677.92 105.69 677.82 105.38 677.65 105.12 677.42 104.92 677.14 104.76 676.82 104.68 676.47 104.64 676.08 104.67 675.64 104.75 675.26 104.9 674.94 105.1 674.69 105.33 674.5 105.62 674.35 105.94 674.28 106.29 674.25 106.36 674.25 106.36 674.8 106.14 674.82 105.93 674.89 105.75 675 105.6 675.14 105.4 675.57 105.33 676.14 105.42 676.71 105.52 676.93 105.66 677.11 105.81 677.26 105.99 677.35 106.36 677.42 32 Y V 109.83 674.25 109.06 674.32 109.07 674.89 109.46 674.8 109.88 674.77 110.22 674.81 110.48 674.91 110.65 675.09 110.71 675.32 110.69 675.46 110.63 675.56 110.44 675.72 109.85 675.93 109.54 676.06 109.26 676.23 109.07 676.49 109 676.89 109.09 677.32 109.37 677.66 109.58 677.79 109.83 677.88 110.47 677.96 111.18 677.89 111.17 677.35 110.8 677.44 110.42 677.47 110.1 677.43 109.86 677.32 109.73 677.17 109.68 676.95 109.76 676.71 109.95 676.55 110.55 676.33 110.86 676.22 111.14 676.04 111.25 675.92 111.33 675.77 111.39 675.6 111.4 675.39 111.38 675.15 111.3 674.94 111.18 674.75 110.99 674.58 110.77 674.44 110.5 674.33 110.19 674.27 109.83 674.25 47 Y V 113.89 673.95 113.57 673.26 113.41 673 113.23 672.8 113.04 672.66 112.82 672.55 112.58 672.5 112.29 672.47 111.81 672.53 111.87 673.11 112.35 673.04 112.62 673.08 112.74 673.14 112.84 673.22 113.04 673.48 113.23 673.91 113.39 674.32 111.99 677.9 112.75 677.9 113.44 676.04 113.73 675.15 113.74 675.15 114.11 676.26 114.7 677.9 115.43 677.9 113.89 673.95 26 Y V 116.8 674.25 116.02 674.32 116.04 674.89 116.43 674.8 116.86 674.77 117.19 674.81 117.45 674.91 117.62 675.09 117.68 675.32 117.66 675.46 117.6 675.56 117.41 675.72 116.82 675.93 116.51 676.06 116.23 676.23 116.04 676.49 115.96 676.89 116.06 677.32 116.35 677.66 116.55 677.79 116.81 677.88 117.44 677.96 118.14 677.89 118.13 677.35 117.77 677.44 117.39 677.47 117.07 677.43 116.84 677.32 116.71 677.17 116.66 676.95 116.74 676.71 116.93 676.55 117.53 676.33 117.84 676.22 118.11 676.04 118.23 675.92 118.31 675.77 118.36 675.6 118.38 675.39 118.35 675.15 118.28 674.94 118.14 674.75 117.96 674.58 117.73 674.44 117.47 674.33 117.15 674.27 116.8 674.25 47 Y V 120.75 674.26 120.28 674.32 120.1 674.4 119.97 674.51 119.81 674.84 119.76 675.33 119.76 677.4 119 677.4 119 677.9 119.76 677.9 119.76 679.06 120.43 679.24 120.43 677.9 121.46 677.9 121.46 677.4 120.43 677.4 120.43 675.56 120.46 675.19 120.54 674.96 120.61 674.9 120.7 674.85 120.96 674.81 121.22 674.83 121.46 674.88 121.46 674.33 121.12 674.28 120.75 674.26 27 Y V 123.8 674.78 123.8 674.26 123.96 674.25 124.29 674.27 124.61 674.31 124.92 674.38 125.21 674.48 125.14 675 124.63 674.83 124.35 674.79 124.06 674.77 123.8 674.78 12 Y V 123.8 676.61 123.8 676.14 125.31 676.14 125.34 676.46 125.32 676.76 125.25 677.04 125.15 677.29 124.99 677.51 124.79 677.7 124.53 677.84 124.22 677.93 123.85 677.96 123.8 677.95 123.8 677.47 123.82 677.48 124.18 677.43 124.44 677.25 124.54 677.12 124.61 676.97 124.65 676.61 123.8 676.61 21 Y V 123.8 677.47 123.8 677.95 123.48 677.92 123.16 677.82 122.87 677.66 122.64 677.43 122.46 677.16 122.32 676.84 122.24 676.48 122.21 676.09 122.24 675.65 122.32 675.27 122.46 674.95 122.65 674.7 122.9 674.5 123.21 674.36 123.56 674.28 123.8 674.26 123.8 674.78 123.79 674.79 123.55 674.86 123.34 674.95 123.17 675.1 123.04 675.3 122.96 675.52 122.91 675.81 122.9 676.14 123.8 676.14 123.8 676.61 122.93 676.61 123.04 676.97 123.23 677.25 123.49 677.43 123.8 677.47 34 Y V 131 674.32 131 676.62 130.97 676.95 130.88 677.21 130.8 677.3 130.7 677.37 130.4 677.43 130.02 677.33 129.69 677.06 129.45 676.62 129.36 676.03 129.36 674.32 128.71 674.32 128.71 676.62 128.68 676.93 128.59 677.19 128.41 677.37 128.1 677.43 127.71 677.32 127.38 677.04 127.25 676.83 127.16 676.59 127.07 676.03 127.07 674.32 126.39 674.32 126.39 677.9 127.04 677.9 127.03 677.53 126.99 677.15 127 677.14 127.21 677.48 127.5 677.74 127.87 677.91 128.29 677.97 128.55 677.95 128.77 677.88 129.08 677.67 129.25 677.41 129.31 677.16 129.47 677.43 129.73 677.69 130.1 677.89 130.57 677.97 131.04 677.9 131.23 677.82 131.38 677.68 131.51 677.52 131.6 677.32 131.65 677.09 131.67 676.8 131.67 674.32 131 674.32 52 Y V 133.57 674.25 132.79 674.32 132.82 674.89 133.2 674.8 133.63 674.77 133.97 674.81 134.23 674.91 134.4 675.09 134.46 675.32 134.44 675.46 134.38 675.56 134.19 675.72 133.6 675.93 133.28 676.06 133 676.23 132.81 676.49 132.73 676.89 132.83 677.32 133.11 677.66 133.32 677.79 133.58 677.88 134.22 677.96 134.92 677.89 134.9 677.35 134.54 677.44 134.16 677.47 133.85 677.43 133.61 677.32 133.48 677.17 133.43 676.95 133.5 676.71 133.69 676.55 134.29 676.33 134.61 676.22 134.88 676.04 135 675.92 135.07 675.77 135.13 675.6 135.15 675.39 135.12 675.15 135.05 674.94 134.92 674.75 134.73 674.58 134.51 674.44 134.24 674.33 133.92 674.27 133.57 674.25 47 Y V 96.95 678.49 97.12 678.53 97.26 678.62 97.36 678.76 97.4 678.92 97.36 679.09 97.26 679.22 97.12 679.31 96.95 679.34 96.79 679.31 96.64 679.22 96.55 679.08 96.51 678.92 96.55 678.76 96.64 678.62 96.79 678.53 96.95 678.49 17 Y V 96.08 677.91 96.08 677.4 96.62 677.4 96.62 674.32 97.28 674.32 97.28 677.9 96.08 677.91 7 Y V 0 0 0 1 0 0 0 1 K 54 54 558 720 C 0 0 612 792 C 54 54 558 126 C 0 0 0 1 0 0 0 1 K 54 54 558 126 R 7 X V 306 72 552 108 R V 0 11 Q 0 X (JNDI 1.2/Java) 319.62 99.6 T 0 7.2 Q (TM) 383.77 103.2 T 0 11 Q (2 Platform, Standard Edition, v 1.3) 396.77 99.6 T 306 244/G1.150535 FmPA (July 14, 1999) 492.42 79.27 T 306 223/G1.150539 FmPA 63 72 216 108 R 7 X V 63 244/G1.106259 FmPA 63 228/G1.122891 FmPA 54 117 558 117 2 L V 1 H 2 Z 0 X N 54 63 558 63 2 L 7 X V 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/Creator(FrameMaker xm5.5.3L15a)/DOCINFO FmPD2 [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.i/DEST FmPD2 [/Dest/F1/DEST FmPD2 [/Title(A)/Rect[45 45 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "i" 1 %%Page: "ii" 2 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 54 893/G1.150015 FmPA 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T 54 893/G1.150006 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (ii) 303.22 36 T (7/14/99) 527.44 36 T 54 180/G1.150013 FmPA 72 180/G1.150016 FmPA 72 180/G1.150019 FmPA 72 180/G1.150022 FmPA 54 72 558 720 R 7 X V 54 852/G1.149834 FmPA 54 824/G1.83133 FmPA 54 804/G1.149785 FmPA 54 784/G1.149796 FmPA 54 764/G1.149797 FmPA 54 744/G1.149786 FmPA 2 F 0 X (Copyright \251 1999 by Sun Microsystems Inc.) 108 581.33 T 54 725/G1.83134 FmPA (901 San Antonio Road, Palo Alto, CA 94303.) 108 564.33 T 54 708/G1.83135 FmPA (All rights reserved.) 108 547.33 T 54 691/G1.83136 FmPA 54 674/G1.149771 FmPA 54 657/G1.149772 FmPA 54 640/G1.149773 FmPA 54 623/G1.149774 FmPA 54 606/G1.149775 FmPA 54 589/G1.149776 FmPA 54 572/G1.83138 FmPA 54 555/G1.83139 FmPA (RESTRICTED) 108 394.33 T (RIGHTS:) 170.45 394.33 T (Use,) 211.24 394.33 T (duplication) 231.18 394.33 T (or) 278.08 394.33 T (disclosure) 288.3 394.33 T (by) 330.75 394.33 T (the) 342.64 394.33 T (government) 356.76 394.33 T (is) 406.42 394.33 T (subject) 414.98 394.33 T (to) 445.21 394.33 T (the) 454.88 394.33 T (restrictions) 469 394.33 T (as) 515.33 394.33 T (set) 525.55 394.33 T (forth) 538.56 394.33 T 54 538/G1.83140 FmPA (in) 108 382.33 T (subparagraph) 118.51 382.33 T (\050c\051) 175.12 382.33 T (\0501\051) 188.95 382.33 T (\050ii\051) 203.34 382.33 T (of) 218.29 382.33 T (the) 229.36 382.33 T (Rights) 244.31 382.33 T (in) 273.16 382.33 T (Technical) 283.68 382.33 T (Data) 325.84 382.33 T (and) 347.45 382.33 T (Computer) 364.62 382.33 T (Software) 407.36 382.33 T (Clause) 446.19 382.33 T (as) 476.14 382.33 T (DFARS) 487.21 382.33 T (252.227-) 522.17 382.33 T (7013 and FAR 52.227-19.) 108 370.33 T 54 497/G1.83141 FmPA 54 480/G1.83142 FmPA 54 463/G1.83143 FmPA (Sun,) 108 302.33 T (Sun) 128.41 302.33 T (Microsystems,) 146.32 302.33 T (the) 207.27 302.33 T (Sun) 221.84 302.33 T (logo,) 239.75 302.33 T (Java,) 262.38 302.33 T (and) 285 302.33 T (JavaSoft,) 301.79 302.33 T (are) 341.07 302.33 T (trademarks) 355.63 302.33 T (or) 402.41 302.33 T (registered) 413.09 302.33 T (trademarks) 454.86 302.33 T (of) 501.64 302.33 T (Sun) 512.32 302.33 T (Micro-) 530.23 302.33 T 54 446/G1.83144 FmPA (systems, Inc.) 108 290.33 T 54 417/G1.83145 FmPA 54 400/G1.83146 FmPA (THIS) 108 239.33 T (PUBLICATION) 132.42 239.33 T (IS) 201.29 239.33 T (PROVIDED) 212.38 239.33 T (\322AS) 265.13 239.33 T (IS\323) 284.56 239.33 T (WITHOUT) 300.09 239.33 T (WARRANTY) 348.94 239.33 T (OF) 408.92 239.33 T (ANY) 423.9 239.33 T (KIND,) 447.76 239.33 T (EITHER) 477.46 239.33 T (EXPRESS) 515.21 239.33 T 54 383/G1.83147 FmPA (OR) 108 227.33 T (IMPLIED,) 123.99 227.33 T (INCLUDING,) 169.14 227.33 T (BUT) 229.29 227.33 T (NOT) 251.39 227.33 T (LIMITED) 274.04 227.33 T (TO,) 317.24 227.33 T (THE) 335.17 227.33 T (IMPLIED) 356.71 227.33 T (WARRANTIES) 399.37 227.33 T (OF) 467.02 227.33 T (MECHANTABIL-) 481.9 227.33 T (ITY, FITNESS FOR A PARTICULAR USE, OR NON-INFRINGEMENT.) 108 215.33 T (THIS) 108 198.33 T (PUBLICATION) 135.09 198.33 T (COULD) 206.61 198.33 T (INCLUDE) 245.91 198.33 T (TECHNICAL) 294.66 198.33 T (INACCURACIES) 356.18 198.33 T (OR) 434.94 198.33 T (TYPOGRAPHICAL) 453.7 198.33 T (ER-) 541.89 198.33 T 54 342/G1.83148 FmPA (RORS.) 108 186.33 T (CHANGES) 139.21 186.33 T (ARE) 189.01 186.33 T (PERIODICALLY) 211.6 186.33 T (ADDED) 286.96 186.33 T (TO) 324.54 186.33 T (THE) 340.45 186.33 T (INFORMATION) 362.48 186.33 T (HEREIN;) 435.06 186.33 T (THESE) 477.08 186.33 T (CHANGES) 510.78 186.33 T (WILL) 108 174.33 T (BE) 135.87 174.33 T (INCORPORATED) 151.53 174.33 T (IN) 231.63 174.33 T (NEW) 245.07 174.33 T (EDITIONS) 270.72 174.33 T (OF) 319.7 174.33 T (THE) 335.36 174.33 T (PUBLICATION.) 357.68 174.33 T (SUN) 429.73 174.33 T (MICROSYSTEMS,) 452.61 174.33 T (INC.,) 535.78 174.33 T (MAY) 108 162.33 T (MAKE) 135.02 162.33 T (NEW) 168.15 162.33 T (IMPROVEMENTS) 194.61 162.33 T (AND/OR) 277.19 162.33 T (CHANGES) 319.21 162.33 T (IN) 370.12 162.33 T (THE) 384.36 162.33 T (PRODUCT\050S\051) 407.49 162.33 T (AND/OR) 470.07 162.33 T (THE) 512.09 162.33 T (PRO-) 535.22 162.33 T (GRAM\050S\051 DESCRIBED IN THIS PUBLICATION AT ANY TIME.) 108 150.33 T 54 275/G1.83151 FmPA 54 254/G1.83199 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.ii/DEST FmPD2 [/Dest/L1/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "ii" 2 %%Page: "iii" 3 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 32.67 558 42.67 R 7 X V 0 10 Q 0 X (Sun Microsystems, Inc.) 54 36 T (iii) 301.83 36 T (7/14/99) 527.44 36 T 54 180/G2.373 FmPA 72 893/G2.375 FmPA 72 180/G2.376 FmPA 72 893/G2.378 FmPA 72 180/G2.379 FmPA 72 893/G2.381 FmPA 72 180/G2.382 FmPA 54 746 558 756 R 7 X V 0 X (Java Naming and Directory Interface) 54 749.33 T 54 893/G2.387 FmPA 54 72 558 720 R 7 X V 3 14 Q 0 X (Contents) 108 710.67 T 54 855/G2.450 FmPA 2 12 Q (1 Introduction) 54 683 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 129 683 T (1) 480 683 T 54 827/G2.6681 FmPA (2 Goals and Design Principles) 54 659 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 207 659 T (2) 480 659 T 54 803/G2.6683 FmPA (3 Overview of the Architecture) 54 635 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 210 635 T (4) 480 635 T 54 779/G2.6695 FmPA (4 Fundamentals) 54 611 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 138 611 T (5) 480 611 T 54 755/G2.6697 FmPA (4.1 Naming \321 The Foundation) 104.4 594 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 264 594 T (5) 480 594 T 54 738/G2.6699 FmPA (4.2 Directory Objects) 104.4 580 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 216 580 T (6) 480 580 T 54 724/G2.6701 FmPA (4.3 URLs and Composite Names) 104.4 566 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 270 566 T (8) 480 566 T 54 710/G2.6703 FmPA (4.4 Events) 104.4 552 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 162 552 T (8) 480 552 T 54 696/G2.6705 FmPA (5 Overview of the Interface) 54 528 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 195 528 T (9) 480 528 T 54 672/G2.6707 FmPA (5.1 The Naming Package \321) 104.4 511 T 4 F (javax.naming) 246.71 511 T 2 F (. . . . . . . . . . . . . . . . . . . . . . .) 342 511 T (9) 480 511 T 54 655/G2.6709 FmPA 2 10 Q (5.1.1 Contexts) 153 498.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 215 498.33 T (9) 481 498.33 T 54 642/G2.6711 FmPA (5.1.2 The Initial Context) 153 486.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 486.33 T (10) 476 486.33 T 54 630/G2.6713 FmPA (5.1.3 Names) 153 474.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 207.5 474.33 T (10) 476 474.33 T 54 618/G2.6715 FmPA (5.1.4 Bindings) 153 462.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 215 462.33 T (11) 476 462.33 T 54 606/G2.6717 FmPA (5.1.5 References) 153 450.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 222.5 450.33 T (11) 476 450.33 T 54 594/G2.6719 FmPA (5.1.6 Referrals) 153 438.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 215 438.33 T (12) 476 438.33 T 54 582/G2.6721 FmPA 2 12 Q (5.2 The Directory Package \321) 104.4 425 T 4 F (javax.naming.directory) 254.03 425 T 2 F ( . . . . . . . . .) 417 425 T (13) 474 425 T 54 569/G2.6723 FmPA 2 10 Q (5.2.1 Directory Objects) 153 412.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 250 412.33 T (13) 476 412.33 T 54 556/G2.6725 FmPA (5.2.2 Attributes) 153 400.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 220 400.33 T (14) 476 400.33 T 54 544/G2.6727 FmPA (5.2.3 Directory Objects as Naming Contexts) 153 388.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 335 388.33 T (14) 476 388.33 T 54 532/G2.6729 FmPA (5.2.4 The Initial Context) 153 376.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 376.33 T (15) 476 376.33 T 54 520/G2.6731 FmPA (5.2.5 Searches) 153 364.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 215 364.33 T (15) 476 364.33 T 54 508/G2.6733 FmPA (5.2.6 Schema) 153 352.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 210 352.33 T (16) 476 352.33 T 54 496/G2.6735 FmPA 2 12 Q (5.3 The Event Package \321) 104.4 339 T 4 F (javax.naming.event) 236.04 339 T 2 F ( . . . . . . . . . . . . . . . . .) 369 339 T (18) 474 339 T 54 483/G2.6737 FmPA 2 10 Q (5.3.1 Naming Events) 153 326.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 240 326.33 T (18) 476 326.33 T 54 470/G2.6739 FmPA (5.3.2 Naming Listeners) 153 314.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 250 314.33 T (18) 476 314.33 T 54 458/G2.6741 FmPA (5.3.3 Event Registration and Deregistration) 153 302.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 330 302.33 T (19) 476 302.33 T 54 446/G2.6743 FmPA (5.3.4 Exception Handling) 153 290.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 260 290.33 T (20) 476 290.33 T 54 434/G2.6745 FmPA 2 12 Q (5.4 The LDAP Package \321) 104.4 277 T 4 F (javax.naming.ldap) 239.38 277 T 2 F (. . . . . . . . . . . . . . . . . .) 366 277 T (20) 474 277 T 54 421/G2.6747 FmPA 2 10 Q (5.4.1 Extended Operations) 153 264.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 262.5 264.33 T (21) 476 264.33 T 54 408/G2.6749 FmPA (5.4.2 Controls) 153 252.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 212.5 252.33 T (21) 476 252.33 T 54 396/G2.6751 FmPA (5.4.3 The Initial Context) 153 240.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 240.33 T (22) 476 240.33 T 54 384/G2.6753 FmPA (5.4.4 Unsolicited Notifications) 153 228.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 280 228.33 T (23) 476 228.33 T 54 372/G2.6755 FmPA 2 12 Q (6 Configuration) 54 205 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 138 205 T (24) 474 205 T 54 349/G2.6757 FmPA (6.1 Environment Properties) 104.4 188 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 243 188 T (24) 474 188 T 54 332/G2.6759 FmPA (6.2 Context Environment) 104.4 174 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 234 174 T (25) 474 174 T 54 318/G2.6761 FmPA (6.3 Resource Files) 104.4 160 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 201 160 T (25) 474 160 T 54 304/G2.6763 FmPA (6.4 Application/Applet-scope Standard JNDI Properties) 104.4 146 T ( . . . . . . . . . . . . . . .) 381 146 T (26) 474 146 T 54 290/G2.6769 FmPA (6.5 How the Environment Properties are Set) 104.4 132 T (. . . . . . . . . . . . . . . . . . . . . . . . .) 324 132 T (26) 474 132 T 54 276/G2.6771 FmPA (6.6 Modifications to the Environment) 104.4 118 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294 118 T (27) 474 118 T 54 262/G2.6773 FmPA (7 Scenarios) 54 94 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 117 94 T (29) 474 94 T 54 238/G2.6783 FmPA (7.1 User authentication) 104.4 77 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 225 77 T (29) 474 77 T 54 221/G2.6785 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.iii/DEST FmPD2 [/Dest/F2/DEST FmPD2 [/Rect[54 679 129 692]/Border[0 0 0]/Dest/G3.997832/LNK FmPD2 54 835/I2.1.6680 FmPA [/Rect[54 655 211 668]/Border[0 0 0]/Dest/G3.997857/LNK FmPD2 54 811/I2.1.6682 FmPA [/Rect[54 631 214 644]/Border[0 0 0]/Dest/G3.998637/LNK FmPD2 54 787/I2.1.6694 FmPA [/Rect[54 607 141 620]/Border[0 0 0]/Dest/G3.996751/LNK FmPD2 54 763/I2.1.6696 FmPA [/Rect[54 590 558 603]/Border[0 0 0]/Dest/G3.996754/LNK FmPD2 104 746/I2.1.6698 FmPA [/Rect[54 576 558 589]/Border[0 0 0]/Dest/G3.996772/LNK FmPD2 104 732/I2.1.6700 FmPA [/Rect[54 562 558 575]/Border[0 0 0]/Dest/G3.996782/LNK FmPD2 104 718/I2.1.6702 FmPA [/Rect[54 548 558 561]/Border[0 0 0]/Dest/G3.998686/LNK FmPD2 104 704/I2.1.6704 FmPA [/Rect[54 524 196 537]/Border[0 0 0]/Dest/G3.998631/LNK FmPD2 54 680/I2.1.6706 FmPA [/Rect[104 507 249 520]/Border[0 0 0]/Dest/G3.997937/LNK FmPD2 104 663/I2.1.6708 FmPA [/Rect[54 494 558 505]/Border[0 0 0]/Dest/G3.997944/LNK FmPD2 153 649/I2.1.6710 FmPA [/Rect[54 482 558 493]/Border[0 0 0]/Dest/G3.999065/LNK FmPD2 153 637/I2.1.6712 FmPA [/Rect[54 470 558 481]/Border[0 0 0]/Dest/G3.999071/LNK FmPD2 153 625/I2.1.6714 FmPA [/Rect[54 458 558 469]/Border[0 0 0]/Dest/G3.997976/LNK FmPD2 153 613/I2.1.6716 FmPA [/Rect[54 446 558 457]/Border[0 0 0]/Dest/G3.997994/LNK FmPD2 153 601/I2.1.6718 FmPA [/Rect[54 434 558 445]/Border[0 0 0]/Dest/G3.998933/LNK FmPD2 153 589/I2.1.6720 FmPA [/Rect[104 421 257 434]/Border[0 0 0]/Dest/G3.998973/LNK FmPD2 104 577/I2.1.6722 FmPA [/Rect[54 408 558 419]/Border[0 0 0]/Dest/G3.998010/LNK FmPD2 153 563/I2.1.6724 FmPA [/Rect[54 396 558 407]/Border[0 0 0]/Dest/G3.999083/LNK FmPD2 153 551/I2.1.6726 FmPA [/Rect[54 384 558 395]/Border[0 0 0]/Dest/G3.998049/LNK FmPD2 153 539/I2.1.6728 FmPA [/Rect[54 372 558 383]/Border[0 0 0]/Dest/G3.998065/LNK FmPD2 153 527/I2.1.6730 FmPA [/Rect[54 360 558 371]/Border[0 0 0]/Dest/G3.999054/LNK FmPD2 153 515/I2.1.6732 FmPA [/Rect[54 348 558 359]/Border[0 0 0]/Dest/G3.998100/LNK FmPD2 153 503/I2.1.6734 FmPA [/Rect[104 335 240 348]/Border[0 0 0]/Dest/G3.999204/LNK FmPD2 104 491/I2.1.6736 FmPA [/Rect[54 706 558 721]/Border[0 0 0]/Dest/G83960/Action/GoToR/File(introduction.pdf)/LNK FmPD2 108 864/I2.1.449 FmPA [/Rect[54 322 558 333]/Border[0 0 0]/Dest/G3.999297/LNK FmPD2 153 477/I2.1.6738 FmPA [/Rect[54 310 558 321]/Border[0 0 0]/Dest/G3.999266/LNK FmPD2 153 465/I2.1.6740 FmPA [/Rect[54 298 558 309]/Border[0 0 0]/Dest/G3.999273/LNK FmPD2 153 453/I2.1.6742 FmPA [/Rect[54 286 558 297]/Border[0 0 0]/Dest/G3.999277/LNK FmPD2 153 441/I2.1.6744 FmPA [/Rect[104 273 242 286]/Border[0 0 0]/Dest/G3.999241/LNK FmPD2 104 429/I2.1.6746 FmPA [/Rect[54 260 558 271]/Border[0 0 0]/Dest/G3.999666/LNK FmPD2 153 415/I2.1.6748 FmPA [/Rect[54 248 558 259]/Border[0 0 0]/Dest/G3.999282/LNK FmPD2 153 403/I2.1.6750 FmPA [/Rect[54 236 558 247]/Border[0 0 0]/Dest/G3.999672/LNK FmPD2 153 391/I2.1.6752 FmPA [/Rect[54 224 558 235]/Border[0 0 0]/Dest/G3.1000295/LNK FmPD2 153 379/I2.1.6754 FmPA [/Rect[54 201 136 214]/Border[0 0 0]/Dest/G3.999222/LNK FmPD2 54 357/I2.1.6756 FmPA [/Rect[54 184 558 197]/Border[0 0 0]/Dest/G3.1000620/LNK FmPD2 104 340/I2.1.6758 FmPA [/Rect[54 170 558 183]/Border[0 0 0]/Dest/G3.1000954/LNK FmPD2 104 326/I2.1.6760 FmPA [/Rect[54 156 558 169]/Border[0 0 0]/Dest/G3.1000880/LNK FmPD2 104 312/I2.1.6762 FmPA [/Rect[54 142 558 155]/Border[0 0 0]/Dest/G3.1001754/LNK FmPD2 104 298/I2.1.6768 FmPA [/Rect[54 128 558 141]/Border[0 0 0]/Dest/G3.1001801/LNK FmPD2 104 284/I2.1.6770 FmPA [/Rect[54 114 558 127]/Border[0 0 0]/Dest/G3.1001027/LNK FmPD2 104 270/I2.1.6772 FmPA [/Rect[54 90 118 103]/Border[0 0 0]/Dest/G3.998799/LNK FmPD2 54 246/I2.1.6782 FmPA [/Rect[54 73 558 86]/Border[0 0 0]/Dest/G3.998356/LNK FmPD2 104 229/I2.1.6784 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "iii" 3 %%Page: "iv" 4 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 32.67 558 42.67 R 7 X V 0 10 Q 0 X (Sun Microsystems, Inc.) 54 36 T (iv) 302.39 36 T (7/14/99) 527.44 36 T 54 746 558 756 R 7 X V 0 X (Java Naming and Directory Interface) 54 749.33 T 54 72 558 720 R 7 X V 2 12 Q 0 X (7.2 Electronic Mail) 104.4 712 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 204 712 T (29) 474 712 T 54 856/G2.6787 FmPA (7.3 Databases) 104.4 698 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 180 698 T (29) 474 698 T 54 842/G2.6789 FmPA (7.4 Browsing) 104.4 684 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 177 684 T (30) 474 684 T 54 828/G2.6791 FmPA (7.5 Network Printing) 104.4 670 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 213 670 T (31) 474 670 T 54 814/G2.6793 FmPA (8 Security Considerations) 54 646 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 186 646 T (33) 474 646 T 54 790/G2.6797 FmPA (8.1 JNDI Classes) 104.4 629 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 195 629 T (33) 474 629 T 54 773/G2.6799 FmPA (8.2 Security Model) 104.4 615 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 204 615 T (33) 474 615 T 54 759/G2.6801 FmPA (8.3 Access To Servers) 104.4 601 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 219 601 T (34) 474 601 T 54 745/G2.6803 FmPA (8.4 Sharing Context Handles) 104.4 587 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252 587 T (34) 474 587 T 54 731/G2.6805 FmPA (8.5 Context Environment) 104.4 573 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 234 573 T (34) 474 573 T 54 717/G2.6807 FmPA (8.6 Class Loading) 104.4 559 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 198 559 T (34) 474 559 T 54 703/G2.6809 FmPA (8.7 Serializable Objects) 104.4 545 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 225 545 T (35) 474 545 T 54 689/G2.6811 FmPA (8.8 Responsibilities of Service Providers) 104.4 531 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 309 531 T (35) 474 531 T 54 675/G2.6813 FmPA (9 Design Choices) 54 507 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 147 507 T (37) 474 507 T 54 651/G2.6823 FmPA (9.1 Separation of Interfaces into Context and DirContext) 104.4 490 T (. . . . . . . . . . . . . . .) 384 490 T (37) 474 490 T 54 634/G2.6825 FmPA (9.2 Separation of JNDI into Different Functional Packages) 104.4 476 T ( . . . . . . . . . . . . .) 393 476 T (37) 474 476 T 54 620/G2.6827 FmPA (9.3 Separation of Client APIs and Service Provider Interfaces) 104.4 462 T (. . . . . . . . . . .) 408 462 T (37) 474 462 T 54 606/G2.6829 FmPA (9.4 Multiple methods for listing Context) 104.4 448 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306 448 T (37) 474 448 T 54 592/G2.6831 FmPA (9.5 Support for Federation) 104.4 434 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 240 434 T (38) 474 434 T 54 578/G2.6833 FmPA (9.6 DirContext versus DirObject) 104.4 420 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 270 420 T (38) 474 420 T 54 564/G2.6835 FmPA (9.7 Support for Schemas) 104.4 406 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 231 406 T (39) 474 406 T 54 550/G2.6837 FmPA (9.8 Overloaded Methods in Context and DirContext) 104.4 392 T ( . . . . . . . . . . . . . . . . . .) 363 392 T (39) 474 392 T 54 536/G2.6839 FmPA (9.9 Reference and Referenceable) 104.4 378 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 270 378 T (40) 474 378 T 54 522/G2.6841 FmPA (9.10 Automatically Turning References into Objects) 104.4 364 T ( . . . . . . . . . . . . . . . . . .) 363 364 T (40) 474 364 T 54 508/G2.6843 FmPA ( Appendix A:) 54 340 T ( JNDI Standard Environment Properties) 119.33 340 T ( . . . . . . . . . . . . . . . . . . . . . . . . . .) 315 340 T (41) 474 340 T 54 484/G2.6845 FmPA ( Appendix B:) 54 316 T ( Examples for LDAP Programmers) 118.67 316 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 291 316 T (45) 474 316 T 54 460/G2.6847 FmPA ( Appendix C:) 54 292 T ( Legend for Class Diagram) 118.67 292 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252 292 T (65) 474 292 T 54 436/G2.6849 FmPA ( Appendix D:) 54 268 T ( JNDI Change History) 119.33 268 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 231 268 T (67) 474 268 T 54 412/G2.6851 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.iv/DEST FmPD2 [/Dest/L2/DEST FmPD2 [/Rect[54 73 558 86]/Border[0 0 0]/Dest/G3.998356/LNK FmPD2 [/Rect[54 708 558 721]/Border[0 0 0]/Dest/G3.998362/LNK FmPD2 104 864/I2.1.6786 FmPA [/Rect[54 694 558 707]/Border[0 0 0]/Dest/G3.998376/LNK FmPD2 104 850/I2.1.6788 FmPA [/Rect[54 680 558 693]/Border[0 0 0]/Dest/G3.998386/LNK FmPD2 104 836/I2.1.6790 FmPA [/Rect[54 666 558 679]/Border[0 0 0]/Dest/G3.998418/LNK FmPD2 104 822/I2.1.6792 FmPA [/Rect[54 642 189 655]/Border[0 0 0]/Dest/G3.998459/LNK FmPD2 54 798/I2.1.6796 FmPA [/Rect[54 625 558 638]/Border[0 0 0]/Dest/G3.998464/LNK FmPD2 104 781/I2.1.6798 FmPA [/Rect[54 611 558 624]/Border[0 0 0]/Dest/G3.998468/LNK FmPD2 104 767/I2.1.6800 FmPA [/Rect[54 597 558 610]/Border[0 0 0]/Dest/G3.998472/LNK FmPD2 104 753/I2.1.6802 FmPA [/Rect[54 583 558 596]/Border[0 0 0]/Dest/G3.998475/LNK FmPD2 104 739/I2.1.6804 FmPA [/Rect[54 569 558 582]/Border[0 0 0]/Dest/G3.998480/LNK FmPD2 104 725/I2.1.6806 FmPA [/Rect[54 555 558 568]/Border[0 0 0]/Dest/G3.998483/LNK FmPD2 104 711/I2.1.6808 FmPA [/Rect[54 541 558 554]/Border[0 0 0]/Dest/G3.998485/LNK FmPD2 104 697/I2.1.6810 FmPA [/Rect[54 527 558 540]/Border[0 0 0]/Dest/G3.998488/LNK FmPD2 104 683/I2.1.6812 FmPA [/Rect[54 503 148 516]/Border[0 0 0]/Dest/G3.998522/LNK FmPD2 54 659/I2.1.6822 FmPA [/Rect[54 486 558 499]/Border[0 0 0]/Dest/G3.998524/LNK FmPD2 104 642/I2.1.6824 FmPA [/Rect[54 472 558 485]/Border[0 0 0]/Dest/G3.998528/LNK FmPD2 104 628/I2.1.6826 FmPA [/Rect[54 458 558 471]/Border[0 0 0]/Dest/G3.998530/LNK FmPD2 104 614/I2.1.6828 FmPA [/Rect[54 444 558 457]/Border[0 0 0]/Dest/G3.998532/LNK FmPD2 104 600/I2.1.6830 FmPA [/Rect[54 430 558 443]/Border[0 0 0]/Dest/G3.998537/LNK FmPD2 104 586/I2.1.6832 FmPA [/Rect[54 416 558 429]/Border[0 0 0]/Dest/G3.998540/LNK FmPD2 104 572/I2.1.6834 FmPA [/Rect[54 402 558 415]/Border[0 0 0]/Dest/G3.998544/LNK FmPD2 104 558/I2.1.6836 FmPA [/Rect[54 388 558 401]/Border[0 0 0]/Dest/G3.998546/LNK FmPD2 104 544/I2.1.6838 FmPA [/Rect[54 374 558 387]/Border[0 0 0]/Dest/G3.998550/LNK FmPD2 104 530/I2.1.6840 FmPA [/Rect[54 360 558 373]/Border[0 0 0]/Dest/G3.998554/LNK FmPD2 104 516/I2.1.6842 FmPA [/Rect[54 336 119 349]/Border[0 0 0]/Dest/G4.998661/LNK FmPD2 54 492/I2.1.6844 FmPA [/Rect[54 312 118 325]/Border[0 0 0]/Dest/G5.1000406/LNK FmPD2 54 468/I2.1.6846 FmPA [/Rect[54 288 118 301]/Border[0 0 0]/Dest/G6.150244/LNK FmPD2 54 444/I2.1.6848 FmPA [/Rect[54 264 119 277]/Border[0 0 0]/Dest/G7.150244/LNK FmPD2 54 420/I2.1.6850 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "iv" 4 %%Page: "1" 5 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Introduction) 508 749.33 T 54 893/G3.997699 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (1) 303.5 36 T (7/14/99) 527.44 36 T 54 180/G3.997706 FmPA 72 180/G3.997708 FmPA 72 180/G3.997710 FmPA 72 180/G3.997712 FmPA 54 72 558 720 R 7 X V 3 18 Q 0 X (1) 81 708 T (Introduction) 108 708 T 54 852/G3.997832 FmPA 2 12 Q (Directory) 108 680 T (services) 157.41 680 T (play) 199.49 680 T (a) 223.59 680 T (vital) 232.34 680 T (role) 257.11 680 T (in) 279.2 680 T (Intranets) 291.96 680 T (and) 337.38 680 T (Internets) 358.14 680 T (by) 403.55 680 T (providing) 418.98 680 T (access) 469.08 680 T (to) 503.15 680 T (a) 515.92 680 T (variety) 524.67 680 T 54 824/G3.997833 FmPA (of) 108 666 T (information) 120.83 666 T (about) 180.34 666 T (users,) 209.84 666 T (machines,) 240.34 666 T (networks,) 291.5 666 T (services,) 341.33 666 T (and) 385.83 666 T (applications.) 405.99 666 T (By) 469.83 666 T (its) 486.67 666 T (very) 500.85 666 T (nature,) 525.01 666 T (a) 108 652 T (directory) 116.67 652 T (service) 163.33 652 T (incorporates) 200.66 652 T (a) 263.32 652 T (naming) 271.99 652 T (facility) 311.33 652 T (for) 348.67 652 T (providing) 366 652 T (human) 416.02 652 T (understandable) 452.02 652 T (name-) 528.01 652 T (spaces that characterize the arrangement and identification of the various entities.) 108 638 T (The) 108 618 T (computing) 129.61 618 T (environment) 183.9 618 T (of) 247.51 618 T (an) 260.45 618 T (enterprise) 274.73 618 T (typically) 325 618 T (consists) 369.95 618 T (of) 410.9 618 T (several) 423.85 618 T (naming) 460.78 618 T (facilities) 499.73 618 T (of-) 544.01 618 T 54 762/G3.997834 FmPA (ten) 108 604 T (representing) 126.06 604 T (different) 188.78 604 T (parts) 233.49 604 T (of) 260.22 604 T (a) 273.61 604 T 0 F (composite) 282.34 604 T 2 F (namespace.) 334.39 604 T (For) 393.44 604 T (example,) 413.5 604 T (the) 460.56 604 T (Internet) 478.62 604 T (Domain) 519.34 604 T (Name) 108 590 T (System) 139.38 590 T (\050) 177.44 590 T (DNS) 181.44 590 T (\051) 205.44 590 T (might) 212.16 590 T (be) 242.89 590 T (used) 256.94 590 T (as) 281.66 590 T (the) 294.38 590 T (top-level) 311.77 590 T (naming) 357.15 590 T (facility) 395.87 590 T (for) 432.59 590 T (different) 449.3 590 T (organizations) 493.34 590 T (within) 108 576 T (an) 141.06 576 T (enterprise.) 154.78 576 T (The) 207.49 576 T (organizations) 228.54 576 T (themselves) 295.59 576 T (might) 351.3 576 T (use) 381.7 576 T (a) 400.09 576 T (directory) 407.81 576 T (service) 453.52 576 T (such) 489.89 576 T (as) 514.28 576 T (LDAP) 526.67 576 T (or) 108 562 T (NDS) 122 562 T (or) 150.01 562 T (NIS.) 164.01 562 T (From) 190.35 562 T (a) 220.35 562 T (user\325s) 229.69 562 T (perspective,) 262.35 562 T (there) 324 562 T (is) 352 562 T (one) 364.01 562 T (namespace) 385.34 562 T (consisting) 441.99 562 T (of) 494.67 562 T (composite) 508.67 562 T (names.) 108 548 T (URLs) 145.81 548 T (are) 178.62 548 T (examples) 197.42 548 T (of) 246.89 548 T (composite) 261.03 548 T (names) 314.51 548 T (because) 349.31 548 T (they) 391.44 548 T (span) 416.25 548 T (namespaces) 442.39 548 T (of) 503.85 548 T (multiple) 517.99 548 T (naming) 108 534 T (facilities.) 146.23 534 T (Applications) 192.78 534 T (which) 256.34 534 T (use) 287.9 534 T (directory) 306.12 534 T (services) 351.67 534 T (must) 392.55 534 T (support) 418.11 534 T (this) 456.34 534 T (user) 475.91 534 T (perspective.) 498.12 534 T (Many) 108 510.8 T (Java) 139.07 510.8 T 2 9.6 Q (TM) 160.39 515.6 T 2 12 Q (application) 177.87 510.8 T (developers) 234.27 510.8 T (can) 289.32 510.8 T (benefit) 309.05 510.8 T (from) 345.45 510.8 T (a) 371.85 510.8 T (directory) 380.25 510.8 T (service) 426.64 510.8 T (API) 463.7 510.8 T (that) 486.11 510.8 T (is) 507.18 510.8 T (not) 518.26 510.8 T (only) 536.66 510.8 T 54 655/G3.997835 FmPA (independent) 108 496.8 T (of) 171.06 496.8 T (the) 185.45 496.8 T (particular) 204.52 496.8 T (directory) 254.9 496.8 T (or) 302.62 496.8 T (naming) 317.02 496.8 T (service) 357.42 496.8 T (implementation,) 395.81 496.8 T (but) 478.54 496.8 T (also) 498.28 496.8 T (enables) 522.01 496.8 T (seamless) 108 482.8 T (access) 153.22 482.8 T (to) 186.43 482.8 T (directory) 198.33 482.8 T (objects) 244.21 482.8 T (through) 280.77 482.8 T (multiple) 320.66 482.8 T (naming) 363.23 482.8 T (facilities.) 401.79 482.8 T (In) 448.68 482.8 T (fact,) 461.23 482.8 T (any) 484.78 482.8 T (application) 504.67 482.8 T (can) 108 468.8 T (attach) 127.18 468.8 T (its) 158.36 468.8 T (own) 172.23 468.8 T (objects) 195.42 468.8 T (to) 231.94 468.8 T (the) 243.8 468.8 T (namespace.) 260.99 468.8 T (Such) 319.16 468.8 T (a) 345.69 468.8 T (facility) 353.54 468.8 T (enables) 390.07 468.8 T (any) 428.58 468.8 T (Java) 448.43 468.8 T (application) 472.28 468.8 T (to) 528.14 468.8 T (dis-) 540 468.8 T (cover and retrieve objects of any type.) 108 454.8 T (End) 108 434.8 T (users) 130.84 434.8 T (can) 159.01 434.8 T (benefit) 179.17 434.8 T (from) 216 434.8 T (logical) 242.84 434.8 T (namespaces) 279.01 434.8 T (that) 339.83 434.8 T (allow) 361.34 434.8 T (easier) 391.51 434.8 T (discovery) 423 434.8 T (and) 473.17 434.8 T (identification) 494 434.8 T 54 579/G3.997836 FmPA (of the objects in the network.) 108 420.8 T (Directory) 108 400.8 T (service) 157.21 400.8 T (developers) 194.41 400.8 T (can) 249.62 400.8 T (benefit) 269.5 400.8 T (from) 306.05 400.8 T (a) 332.6 400.8 T (service-provider) 341.15 400.8 T (capability) 423.01 400.8 T (that) 473.57 400.8 T (enables) 494.79 400.8 T (them) 534 400.8 T 54 545/G3.997837 FmPA (to incorporate their respective implementations without requiring changes to the client.) 108 386.8 T (Java) 108 363.6 T (Naming) 132.48 363.6 T (and) 174.3 363.6 T (Directory) 194.79 363.6 T (Interface) 243.93 363.6 T 2 9.6 Q (TM) 286.56 368.4 T 2 12 Q (\050JNDI\051) 304.12 363.6 T (is) 341.26 363.6 T (an) 352.42 363.6 T (API) 366.91 363.6 T (that) 389.4 363.6 T (provides) 410.55 363.6 T (directory) 455.04 363.6 T (and) 501.52 363.6 T (naming) 522 363.6 T 54 508/G3.997838 FmPA (functionality) 108 349.6 T (to) 172.22 349.6 T (Java) 184.44 349.6 T (applications.) 208.65 349.6 T (It) 272.54 349.6 T (is) 282.75 349.6 T (defined) 293.64 349.6 T (to) 332.52 349.6 T (be) 344.74 349.6 T (independent) 358.96 349.6 T (of) 420.5 349.6 T (any) 433.38 349.6 T (specific) 453.6 349.6 T (directory) 493.8 349.6 T (ser-) 540.01 349.6 T (vice implementation. Thus, a variety of directories can be accessed in a common way.) 108 335.6 T (Here) 108 315.6 T (are) 134.01 315.6 T (two) 151.36 315.6 T (examples) 172.05 315.6 T (to) 220.07 315.6 T (briefly) 232.1 315.6 T (illustrate) 266.79 315.6 T (some) 311.49 315.6 T (of) 339.51 315.6 T (the) 352.2 315.6 T (more) 369.56 315.6 T (commonly) 396.92 315.6 T (used) 450.95 315.6 T (features) 475.64 315.6 T (of) 516.32 315.6 T (JNDI.) 529.01 315.6 T 54 460/G3.997839 FmPA (An) 108 295.6 T (application) 126.55 295.6 T (that) 183.76 295.6 T (wants) 205.65 295.6 T (to) 237.53 295.6 T (access) 250.76 295.6 T (a) 285.29 295.6 T (printer) 294.5 295.6 T (needs) 330.38 295.6 T (the) 361.59 295.6 T (corresponding) 380.14 295.6 T (printer) 452.68 295.6 T (object.) 488.56 295.6 T (This) 524.77 295.6 T (is) 549.99 295.6 T 54 440/G3.997840 FmPA (simply done as follows:) 108 281.6 T 4 10 Q (prt = \050Printer\051 building7.lookup\050"puffin"\051;) 140.4 262.93 T 54 407/G3.997841 FmPA (prt.print\050document\051;) 140.4 250.93 T 54 395/G3.997842 FmPA 2 12 Q (JNDI does all the work of locating the information needed to construct the printer object.) 108 231.6 T 54 376/G3.997843 FmPA (An) 108 211.6 T (application) 125.67 211.6 T (that) 182 211.6 T (wants) 203.01 211.6 T (to) 234.01 211.6 T (find) 246.35 211.6 T (a) 268.69 211.6 T (person\325s) 277.02 211.6 T (phone) 320.68 211.6 T (numbers,) 353.02 211.6 T (which) 400.35 211.6 T (are) 432.68 211.6 T (stored) 450.34 211.6 T (in) 482.68 211.6 T (the) 495.02 211.6 T (organiza-) 512.69 211.6 T 54 356/G3.997844 FmPA (tion\325s directory, can simply do:) 108 197.6 T 4 10 Q (String[] attrs = {"workPhone", "cellPhone", "faxNumber"};) 140.4 178.93 T 54 323/G3.997845 FmPA (bobsPhones) 140.4 166.93 T (=) 205.92 166.93 T (directory.getAttributes\050"cn=Bob,) 217.44 166.93 T (o=Widget,) 414.96 166.93 T (c=US",) 474.48 166.93 T (attrs\051;) 516 166.93 T 54 311/G3.997846 FmPA 2 12 Q (If) 108 147.6 T (there) 118.69 147.6 T (may) 145.37 147.6 T (be) 168.73 147.6 T (several) 182.76 147.6 T (Bobs) 219.44 147.6 T (in) 246.8 147.6 T (the) 258.84 147.6 T (Widget) 276.2 147.6 T (organization,) 314.22 147.6 T (the) 379.9 147.6 T (application) 397.26 147.6 T (can) 453.29 147.6 T (search) 472.64 147.6 T (the) 505.98 147.6 T (organi-) 523.34 147.6 T 54 292/G3.997847 FmPA (zation\325s directory to find the right Bob as follows:) 108 133.6 T 4 10 Q (bob = directory.search\050"o=Widget, c=US", "\050cn=Bob\051", searchctls\051;) 140.4 114.93 T 54 259/G3.997848 FmPA 2 12 Q (This document describes the architecture and interfaces of JNDI.) 108 95.6 T 54 240/G3.997849 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.1/DEST FmPD2 [/Dest/F3/DEST FmPD2 108 864/M3.9.38451.chapter.1.Goals FmPA 108 864/I3.1.997831 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "1" 5 %%Page: "2" 6 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Goals and Design Principles) 442.17 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (2) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (2) 81 708 T (Goals and Design Principles) 108 708 T 54 852/G3.997857 FmPA 2 12 Q (We followed several principles and maxims in designing the API.) 108 680 T 54 824/G3.997858 FmPA 3 14 Q (2.1) 72.5 652.67 T (Keep it consistent and intuitive) 108 652.67 T 54 797/G3.997859 FmPA 2 12 Q (Wherever) 108 632 T (possible,) 158.57 632 T (we) 204.17 632 T (have) 221.42 632 T (used) 247.34 632 T (existing) 272.6 632 T (components) 313.87 632 T (from) 375.12 632 T (the) 401.72 632 T (rest) 419.64 632 T (of) 440.23 632 T (the) 453.49 632 T (Java) 471.42 632 T (development) 496.01 632 T 54 776/G3.997860 FmPA (environment.) 108 618 T (Adhering) 175.86 618 T (to) 225.38 618 T (this) 238.91 618 T (principle) 260.45 618 T (not) 307.3 618 T (only) 326.84 618 T (makes) 352.37 618 T (JNDI) 387.23 618 T (consistent) 417.42 618 T (with) 469.61 618 T (existing) 495.15 618 T (core) 537.35 618 T (classes in the Java platform but also reduces needless proliferation of classes.) 108 604 T (The) 108 584 T (object-oriented) 129.64 584 T (nature) 205.27 584 T (of) 238.24 584 T (the) 251.21 584 T (Java) 268.86 584 T (programming) 293.16 584 T (language) 361.47 584 T (allows) 407.77 584 T (for) 442.08 584 T (an) 459.06 584 T (intuitive) 473.37 584 T (and) 516.35 584 T (sim-) 536.66 584 T 54 728/G3.997862 FmPA (ple) 108 570 T (API) 125.5 570 T (design,) 147.67 570 T (in) 184.85 570 T (which) 197.02 570 T (the) 229.19 570 T (directory) 246.69 570 T (service) 292.85 570 T (functionality) 329.67 570 T (is) 393.84 570 T (expressed) 404.68 570 T (as) 454.84 570 T (a) 467.67 570 T (natural) 475.84 570 T (extension) 512 570 T (to the more fundamental naming service functionality.) 108 556 T 3 14 Q (2.2) 72.5 528.67 T (Pay for what you use) 108 528.67 T 54 673/G3.997863 FmPA 2 12 Q (The) 108 508 T (API) 129.29 508 T (is) 151.25 508 T (structured) 161.89 508 T (in) 212.51 508 T (a) 224.48 508 T (tiered) 232.43 508 T (manner) 262.39 508 T (so) 301.01 508 T (that) 314.31 508 T (the) 334.94 508 T (application) 352.23 508 T (programmer) 408.19 508 T (interested) 470.14 508 T (in) 519.43 508 T (a) 531.39 508 T (cer-) 539.35 508 T 54 652/G3.997864 FmPA (tain) 108 494 T (directory) 129.09 494 T (service) 175.5 494 T (capability) 212.58 494 T (need) 263 494 T (not) 288.75 494 T (necessarily) 307.18 494 T (know) 363.58 494 T (about) 393.34 494 T (a) 423.1 494 T (more) 431.52 494 T (advanced) 459.27 494 T (capability.) 507.67 494 T (We) 108 480 T (have) 127.37 480 T (strived) 152.74 480 T (to) 188.12 480 T (keep) 200.17 480 T (the) 225.54 480 T (lower) 242.92 480 T (tiers) 272.96 480 T (simple) 296.33 480 T (and) 331.05 480 T (also) 351.09 480 T (make) 373.14 480 T (them) 401.85 480 T (represent) 428.56 480 T (the) 475.26 480 T (common) 492.63 480 T (case) 537.35 480 T (capability, relegating the more complex ones to the upper tiers.) 108 466 T 3 14 Q (2.3) 72.5 438.67 T (Implementable over common directory and naming services and protocols) 108 438.67 T 54 583/G3.997865 FmPA 2 12 Q (This) 108 418 T (goal) 132.49 418 T (is) 156.32 418 T (important) 167.48 418 T (for) 217.31 418 T (two) 234.46 418 T (reasons.) 255.62 418 T (First,) 297.77 418 T (it) 325.93 418 T (enables) 335.77 418 T (Java) 374.91 418 T (applications) 399.39 418 T (to) 460.55 418 T (take) 473.05 418 T (advantage) 496.2 418 T (of) 548 418 T 54 562/G3.997866 FmPA (information) 108 404 T (in) 168.72 404 T (a) 182.1 404 T (variety) 191.48 404 T (of) 228.86 404 T (existing) 242.91 404 T (naming) 284.96 404 T (and) 325.01 404 T (directory) 346.39 404 T (services) 393.77 404 T (such) 436.47 404 T (as) 462.52 404 T (DNS) 476.56 404 T (,) 500.56 404 T (NDS) 507.62 404 T (,) 531.62 404 T (NIS) 538.67 404 T (\050YP\051,) 108 390 T (X.500,) 137.23 390 T (and) 172.8 390 T (LDAP.) 193.03 390 T (Second,) 230.26 390 T (it) 271.49 390 T (helps) 281.07 390 T (limit) 309.3 390 T (the) 334.88 390 T (appearance) 352.45 390 T (of) 409.31 390 T (any) 422.21 390 T (implementation) 442.44 390 T (specific) 520.68 390 T (artifacts in the API.) 108 376 T (Providing) 108 356 T (a) 158.11 356 T (unified) 166.2 356 T (interface) 202.96 356 T (to) 247.7 356 T (multiple) 259.81 356 T (naming) 302.58 356 T (and) 341.35 356 T (directory) 361.44 356 T (services) 407.53 356 T (does) 448.94 356 T (not) 473.71 356 T (imply) 491.81 356 T (that) 522.58 356 T (ac-) 543.35 356 T 54 500/G3.997867 FmPA (cess) 108 342 T (of) 130.91 342 T (unique) 143.82 342 T (features) 179.41 342 T (of) 220.31 342 T (a) 233.22 342 T (particular) 241.47 342 T (service) 290.37 342 T (is) 327.27 342 T (precluded.) 338.19 342 T (The) 391.43 342 T (unified) 413.01 342 T (API) 449.92 342 T (which) 472.17 342 T (is) 504.42 342 T (designed) 515.34 342 T (to) 108 328 T (cover) 120.14 328 T (the) 149.6 328 T (common) 167.06 328 T (case) 211.87 328 T (is) 235.32 328 T (still) 246.13 328 T (beneficial) 266.95 328 T (to) 317.07 328 T (applications) 329.21 328 T (that) 390.01 328 T (have) 410.81 328 T (explicit) 436.27 328 T (knowledge) 475.08 328 T (of) 530.53 328 T (the) 543.34 328 T (underlying) 108 314 T (naming) 163.36 314 T (or) 202.73 314 T (directory) 216.09 314 T (service.) 262.78 314 T (Such) 303.13 314 T (applications) 330.49 314 T (still) 391.85 314 T (benefit) 413.23 314 T (from) 449.92 314 T (sharing) 476.62 314 T (the) 515.31 314 T (com-) 533.34 314 T (mon) 108 300 T (portions) 131.98 300 T (that) 173.96 300 T (use) 194.6 300 T (the) 213.24 300 T (API.) 230.55 300 T (This) 255.53 300 T (is) 279.51 300 T (analogous) 290.16 300 T (to) 341.46 300 T (applications) 353.44 300 T (sharing) 414.08 300 T (commonly) 452.05 300 T (used) 506.04 300 T (class-) 530.68 300 T (es and yet adding needed specificity via subclassing.) 108 286 T 3 14 Q (2.4) 72.5 258.67 T (Seamless integration) 108 258.67 T 54 403/G3.997868 FmPA 2 12 Q (This) 108 238 T (is) 132.27 238 T (important) 143.21 238 T (not) 192.82 238 T (only) 211.09 238 T (because) 235.37 238 T (of) 276.29 238 T (the) 289.22 238 T (diversity) 306.82 238 T (of) 351.76 238 T (directory) 364.69 238 T (service) 410.95 238 T (and) 447.87 238 T (naming) 468.14 238 T (services) 507.07 238 T (in) 548.66 238 T 54 382/G3.997869 FmPA (the) 108 224 T (installed) 125.54 224 T (base) 169.08 224 T (that) 193.27 224 T (need) 214.15 224 T (to) 239.68 224 T (be) 251.88 224 T (supported,) 266.08 224 T (but) 319.29 224 T (also) 337.49 224 T (because) 359.7 224 T (new) 400.55 224 T (Java) 423.42 224 T (application) 447.61 224 T (and) 503.82 224 T (service) 524.02 224 T (programmers can export their own namespaces and directory objects in a uniform way.) 108 210 T (We) 108 190 T (also) 127.9 190 T (wanted) 150.47 190 T (to) 188.37 190 T (make) 200.95 190 T (a) 230.18 190 T (variety) 238.76 190 T (of) 275.32 190 T (implementation) 288.56 190 T (choices) 367.14 190 T (possible) 406.37 190 T (without) 448.95 190 T (having) 488.86 190 T (the) 524.77 190 T (ap-) 542.68 190 T 54 334/G3.997870 FmPA (plication) 108 176 T (pay) 152.89 176 T (for) 173.12 176 T (this) 190 176 T (freedom.) 210.24 176 T (For) 256.12 176 T (example,) 275.68 176 T (a) 322.23 176 T (\322thin-client\323) 330.45 176 T (might) 393.33 176 T (be) 424.24 176 T (better) 438.46 176 T (served) 468.68 176 T (by) 502.89 176 T (a) 517.78 176 T (proxy-) 526.01 176 T (style) 108 162 T (protocol) 134.32 162 T (in) 177.96 162 T (which) 190.95 162 T (the) 223.93 162 T (access) 242.24 162 T (to) 276.54 162 T (specific) 289.53 162 T (naming) 330.5 162 T (and) 370.15 162 T (directory) 391.13 162 T (services) 438.1 162 T (is) 480.4 162 T (relegated) 492.05 162 T (to) 539.68 162 T (a) 552.67 162 T (server.) 108 148 T (Whereas,) 143.66 148 T (a) 191.98 148 T (performance) 200.65 148 T (sensitive,) 264.63 148 T (resource) 312.97 148 T (rich) 356.95 148 T (client,) 378.96 148 T (might) 411.96 148 T (choose) 443.31 148 T (to) 479.98 148 T (use) 492.66 148 T (an) 512 148 T (imple-) 526.67 148 T (mentation) 108 134 T (which) 160.67 134 T (directly) 194.67 134 T (allows) 236.01 134 T (it) 272.01 134 T (to) 283.36 134 T (access) 297.37 134 T (the) 332.69 134 T (various) 352.02 134 T (servers.) 392.02 134 T (However,) 433.68 134 T (the) 485.33 134 T (application) 504.67 134 T (should) 108 120 T (be) 144.24 120 T (insulated) 159.8 120 T (from) 207.37 120 T (these) 234.93 120 T (implementation) 263.82 120 T (choices.) 343.39 120 T (It) 386.61 120 T (should) 398.18 120 T (be) 434.42 120 T (possible) 449.98 120 T (to) 493.55 120 T (defer) 507.12 120 T (such) 536 120 T (choices even until runtime.) 108 106 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.2/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "2" 6 %%Page: "3" 7 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Goals and Design Principles) 442.17 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (3) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (2.5) 72.5 710.67 T (Support for leading industry standards) 108 710.67 T 54 855/G3.998702 FmPA 2 12 Q (The) 108 690 T (Lightweight) 129.78 690 T (Directory) 191.56 690 T (Access) 240.67 690 T (Protocol) 277.77 690 T (\050Internet) 321.55 690 T (RFC) 365.99 690 T (2251\051) 391.79 690 T (has) 422.9 690 T (emerged) 442.01 690 T (as) 486.45 690 T (the) 499.56 690 T (standard) 517.34 690 T 54 834/G3.998703 FmPA (for) 108 676 T (directory) 125.21 676 T (access) 171.75 676 T (at) 205.62 676 T (the) 217.51 676 T (protocol) 235.39 676 T (level.) 278.61 676 T (All) 308.16 676 T (major) 326.72 676 T (directory) 357.93 676 T (vendors) 404.48 676 T (have) 445.69 676 T (products) 471.57 676 T (that) 516.11 676 T (sup-) 537.34 676 T (port) 108 662 T (this) 131.07 662 T (protocol.) 152.14 662 T (An) 198.87 662 T (application) 217.27 662 T (that) 274.33 662 T (uses) 296.06 662 T (JNDI) 320.46 662 T (should) 350.18 662 T (be) 385.92 662 T (able) 400.98 662 T (to) 424.71 662 T (access) 437.78 662 T (all) 472.16 662 T (of) 487.89 662 T (the) 501.62 662 T (features) 520.02 662 T (offered) 108 648 T (by) 145.78 648 T (this) 160.91 648 T (standard.) 181.38 648 T (Where) 228.18 648 T (possible,) 263.29 648 T (JNDI) 308.76 648 T (should) 337.89 648 T (support) 373.02 648 T (conventions) 412.16 648 T (\050such) 473.29 648 T (as) 502.41 648 T (those) 515.54 648 T (for) 544.01 648 T (specifying search queries/filters\051 already defined by the standard.) 108 634 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.3/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "3" 7 %%Page: "4" 8 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Architecture) 442.19 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (4) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (3) 81 708 T (Overview of the Architecture) 108 708 T 54 852/G3.998637 FmPA 2 12 Q (The) 108 680 T (JNDI) 129.52 680 T (architecture) 158.37 680 T (consists) 217.87 680 T (of) 258.73 680 T (the) 271.59 680 T (JNDI) 289.11 680 T (API) 317.97 680 T (and) 340.16 680 T (the) 360.35 680 T (JNDI) 377.87 680 T (SPI.) 406.72 680 T (The) 429.92 680 T (JNDI) 451.44 680 T (API) 480.29 680 T (allows) 502.48 680 T (Java) 536.67 680 T 54 824/G3.998851 FmPA (applications) 108 666 T (to) 168.87 666 T (access) 181.08 666 T (a) 214.6 666 T (variety) 222.8 666 T (of) 258.99 666 T (naming) 271.86 666 T (and) 310.73 666 T (directory) 330.93 666 T (services.) 377.12 666 T (The) 421.65 666 T (JNDI) 443.18 666 T (SPI) 472.04 666 T (is) 492.26 666 T (designed) 503.13 666 T (to) 548.66 666 T (be) 108 652 T (used) 122.03 652 T (by) 146.73 652 T (arbitrary) 161.43 652 T (service) 205.44 652 T (providers) 242.13 652 T (including) 290.15 652 T (directory) 338.19 652 T (service) 384.21 652 T (providers.) 420.9 652 T (This) 471.92 652 T (enables) 495.96 652 T (a) 534.65 652 T (va-) 542.68 652 T (riety) 108 638 T (of) 133.76 638 T (directory) 147.53 638 T (and) 194.61 638 T (naming) 215.71 638 T (services) 255.48 638 T (to) 297.89 638 T (be) 311 638 T (plugged) 326.09 638 T (in) 368.52 638 T (transparently) 381.63 638 T (to) 448.05 638 T (the) 461.15 638 T (Java) 479.58 638 T (application) 504.67 638 T (\050which) 108 624 T (uses) 144.1 624 T (only) 167.54 624 T (the) 191.66 624 T (JNDI) 209.1 624 T (API\051.) 237.87 624 T (Figure) 266.97 624 T (1) 301.08 624 T (shows) 309.86 624 T (the) 342.64 624 T (JNDI) 360.08 624 T (architecture) 388.85 624 T (and) 448.26 624 T (includes) 468.37 624 T (a) 511.14 624 T (few) 519.25 624 T (ser-) 540.01 624 T (vice providers of directory and naming contexts as examples.) 108 610 T 54 734/G3.998855 FmPA 3 10 Q (Figur) 54 571.33 T (e 1: JNDI Ar) 77.71 571.33 T (chitectur) 132.79 571.33 T (e) 170.93 571.33 T 54 715/G3.998891 FmPA 54 72 558 720 C 127.5 337 484.5 568 C 0 0 0 1 0 0 0 1 K 133.5 343 478.5 562 R 4 X V 0.25 H 0 Z 0 X N 1 1 0 0 0 0 1 1 K 241.48 506 361.5 542 R 7 X V 1 H 0 X N 0 0 0 1 0 0 0 1 K 5 10 Q (Ja) 261.93 520.54 T (v) 272.9 520.54 T (a Application) 278.26 520.54 T 0 1 1 0 1 0 0 1 K 145.5 480.51 421.93 480.51 2 L 6 X V 4 H 2 Z 0 X N 0 0 0 1 0 0 0 1 K 224.25 443 379.5 464.16 R 7 X V 3 H 0 Z 0 X N 209.78 362 267.16 394.38 R 7 X V 1 H 0 X N 146.78 362 195.16 394.38 R 7 X V 0 X N (JNDI Naming Mana) 248.84 450.21 T (g) 339.31 450.21 T (er) 345.52 450.21 T 3 F (JNDI API) 428.83 481.05 T (JNDI SPI) 433.38 418.05 T 6 F (RMI) 163.17 378.57 T 145.5 418.72 421.93 421.86 R 3 X V 3 H 2 Z 2 X N 0 X 90 450 1.6 1.63 322.76 378.37 G 90 450 1.6 1.63 322.76 378.37 A 90 450 1.6 1.63 304.76 378.37 G 90 450 1.6 1.63 304.76 378.37 A 90 450 1.6 1.63 286.76 378.37 G 90 450 1.6 1.63 286.76 378.37 A (CORBA) 219.82 377.9 T 334.78 363 373.16 395.38 R 7 X V 1 H 0 Z 0 X N 383.78 363 422.16 395.38 R 7 X V 0 X N (LD) 340.16 378.07 T (AP) 352.54 378.07 T (NDS) 391.16 379.07 T 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.4/DEST FmPD2 98 722/M3.9.20692.FigureTitle.Figure.2.JNDI.Architecture FmPA 98 722/I3.1.998856 FmPA [/Rect[267 620 307 633]/Border[0 0 0]/Page 8/View[/XYZ null 98 722 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "4" 8 %%Page: "5" 9 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Fundamentals) 500.78 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (5) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (4) 81 708 T (Fundamentals) 108 708 T 54 852/G3.996751 FmPA 2 12 Q (A) 108 680 T (directory) 119.85 680 T (service) 166.36 680 T (provides) 203.53 680 T (access) 248.04 680 T (to) 281.88 680 T (diverse) 294.4 680 T (kinds) 332.25 680 T (of) 361.44 680 T (information) 374.62 680 T (about) 434.47 680 T (users) 464.33 680 T (and) 492.17 680 T (resources) 512.69 680 T 54 824/G3.996752 FmPA (in) 108 666 T (a) 120.3 666 T (network) 128.59 666 T (environment.) 170.87 666 T (It) 237.49 666 T (uses) 247.78 666 T (a) 271.41 666 T 0 F (naming) 279.7 666 T (system) 318.66 666 T 2 F (for) 353.61 666 T (the) 370.56 666 T (purpose) 388.19 666 T (of) 429.14 666 T (identifying) 442.1 666 T (and) 497.73 666 T (organiz-) 518.02 666 T (ing) 108 652 T 0 F (directory) 126.59 652 T (objects) 173.84 652 T 2 F (to) 211.09 652 T (represent) 223.68 652 T (this) 270.92 652 T (information.) 291.51 652 T (A) 354.43 652 T (directory) 366.35 652 T (object) 412.92 652 T (provides) 445.51 652 T (an) 490.09 652 T (association) 504.67 652 T (between) 108 638 T 0 F (attributes) 150.55 638 T 2 F (and) 199.13 638 T 0 F (values) 219.03 638 T 2 F (.) 249.69 638 T (Thus,) 255.26 638 T (a) 284.83 638 T (directory) 292.73 638 T (service) 338.62 638 T (enables) 375.18 638 T (information) 413.74 638 T (to) 472.97 638 T (be) 484.88 638 T (organized) 498.78 638 T (in) 548.66 638 T (a) 108 624 T (hierarchical) 116.45 624 T (manner) 176.21 624 T (to) 215.32 624 T (provide) 227.78 624 T (a) 267.56 624 T (mapping) 276.01 624 T (between) 321.13 624 T (human) 364.23 624 T (understandable) 400.02 624 T (names) 475.79 624 T (and) 509.57 624 T (direc-) 530.02 624 T (tory objects.) 108 610 T 3 14 Q (4.1) 72.5 582.67 T (Naming \321 The Foundation) 108 582.67 T 54 727/G3.996754 FmPA 2 12 Q (A) 108 562 T (fundamental) 120.04 562 T (facility) 183.41 562 T (in) 220.79 562 T (any) 233.51 562 T (computing) 254.22 562 T (system) 308.93 562 T (is) 345.65 562 T (the) 357.03 562 T (naming) 375.08 562 T (service) 414.46 562 T (\320) 451.83 562 T (the) 461.21 562 T (means) 479.25 562 T (by) 513.29 562 T (which) 528.67 562 T 54 706/G3.996755 FmPA (names) 108 548 T (are) 141.55 548 T (associated) 159.1 548 T (with) 211.32 548 T (objects,) 235.55 548 T (and) 275.44 548 T (by) 295.66 548 T (which) 310.56 548 T (objects) 342.78 548 T (are) 379.67 548 T (found) 397.22 548 T (given) 428.11 548 T (their) 457.67 548 T (names.) 482.56 548 T (In) 519.12 548 T (tradi-) 532.01 548 T (tional) 108 534 T (systems,) 137.87 534 T (the) 181.41 534 T (naming) 198.62 534 T (service) 237.15 534 T (is) 273.68 534 T (seldom) 284.22 534 T (a) 321.42 534 T (separate) 329.29 534 T (service.) 371.14 534 T (It) 410.66 534 T (is) 420.53 534 T (usually) 431.07 534 T (integrated) 468.28 534 T (with) 518.8 534 T (an-) 542.68 534 T (other) 108 520 T (service,) 139 520 T (such) 182.32 520 T (as) 210.66 520 T (a) 227 520 T (file) 238.66 520 T (system,) 261 520 T (directory) 303.68 520 T (service,) 353.34 520 T (database,) 396.66 520 T (desktop,) 447.32 520 T (mail) 493.99 520 T (system,) 521.66 520 T (spreadsheet,) 108 506 T (or) 169.76 506 T (calendar.) 182.55 506 T (For) 228.97 506 T (example,) 248.43 506 T (a) 294.87 506 T (file) 302.98 506 T (system) 321.76 506 T (includes) 357.88 506 T (a) 400.66 506 T (naming) 408.78 506 T (service) 447.56 506 T (for) 484.33 506 T (files) 501.11 506 T (and) 524.55 506 T (di-) 544.67 506 T (rectories; a spreadsheet has a naming service for cells and macros.) 108 492 T (The) 108 472 T (computing) 131.12 472 T (environment) 186.92 472 T (of) 252.04 472 T (an) 266.49 472 T (enterprise) 282.28 472 T (typically) 334.06 472 T (consists) 380.52 472 T (of) 422.99 472 T (several) 437.44 472 T (naming) 475.89 472 T (services.) 516.35 472 T 54 616/G3.996759 FmPA (There) 108 458 T (are) 139.32 458 T (naming) 157.32 458 T (services) 196.65 458 T (that) 238.65 458 T (provide) 259.99 458 T (contexts) 299.99 458 T (for) 343.32 458 T (naming) 360.65 458 T (common) 399.99 458 T (entities) 445.33 458 T (in) 483.34 458 T (an) 496.02 458 T (enterprise) 510.68 458 T (such) 108 444 T (as) 132.59 444 T (organizations,) 145.18 444 T (physical) 215.43 444 T (sites,) 258.03 444 T (human) 284.96 444 T (users) 320.22 444 T (and) 347.47 444 T (computers.) 367.4 444 T (Naming) 422.98 444 T (services) 464.24 444 T (are) 505.49 444 T (also) 522.74 444 T (in-) 544.67 444 T (corporated) 108 430 T (in) 162.79 430 T (applications) 175.61 430 T (offering) 237.09 430 T (services) 279.22 430 T (such) 321.36 430 T (as) 346.84 430 T (file) 360.31 430 T (service,) 379.79 430 T (mail) 420.26 430 T (service,) 445.08 430 T (printer) 485.54 430 T (service,) 521.02 430 T (and) 108 416 T (so) 128.81 416 T (on.) 142.96 416 T (From) 161.44 416 T (a) 190.93 416 T (user\325s) 199.74 416 T (perspective,) 231.88 416 T (there) 293.01 416 T (exist) 320.48 416 T (several) 346.63 416 T (natural) 384.1 416 T (and) 420.9 416 T (logical) 441.71 416 T (relationships) 477.86 416 T (be-) 542.68 416 T (tween) 108 402 T (these) 139.37 402 T (naming) 166.74 402 T (services.) 205.45 402 T (For) 249.82 402 T (example,) 269.2 402 T (it) 315.57 402 T (is) 324.95 402 T (natural) 335.67 402 T (to) 371.71 402 T (think) 383.76 402 T (of) 411.14 402 T (naming) 423.85 402 T (a) 462.56 402 T (variety) 470.6 402 T (of) 506.64 402 T (services) 519.35 402 T (such) 108 388 T (as) 133.2 388 T (files,) 146.41 388 T (mail,) 173.28 388 T (appointment) 200.82 388 T (calendar,) 264.03 388 T (and) 310.88 388 T (so) 331.42 388 T (on,) 345.29 388 T (in) 363.5 388 T (the) 376.04 388 T (context) 393.91 388 T (of) 432.45 388 T (a) 445.65 388 T (user.) 454.19 388 T (It) 480.39 388 T (is) 490.92 388 T (also) 502.14 388 T (natural) 524.67 388 T (to) 108 374 T (think) 120.08 374 T (of) 147.51 374 T (a) 160.25 374 T (user) 168.33 374 T (in) 191.07 374 T (the) 203.15 374 T (context) 220.57 374 T (of) 258.64 374 T (a) 271.39 374 T (department,) 279.46 374 T (within) 339.2 374 T (a) 372.62 374 T (division) 380.7 374 T (of) 422.12 374 T (an) 434.87 374 T (enterprise.) 448.94 374 T (Meaningful) 502.01 374 T (names) 108 360 T (can) 142.45 360 T (be) 162.89 360 T (composed) 178.01 360 T (using) 230.45 360 T (useful) 260.24 360 T (arrangements) 293.36 360 T (of) 361.79 360 T (naming) 375.57 360 T (services) 415.36 360 T (reflecting) 457.8 360 T (these) 507.57 360 T (rela-) 536.02 360 T (tionships.) 108 346 T (Every) 108 326 T 0 F (name) 140.73 326 T 2 F (is) 170.79 326 T (generated) 182.87 326 T (by) 233.59 326 T (a) 249.66 326 T (set) 259.06 326 T (of) 276.47 326 T (syntactic) 290.53 326 T (rules) 337.27 326 T (called) 364.67 326 T (a) 397.4 326 T 0 F (naming) 406.8 326 T (convention) 446.87 326 T 2 F (.) 499.53 326 T (An) 506.6 326 T 0 F (atomic) 525.34 326 T 54 470/G3.996760 FmPA (name) 108 312 T 2 F ( is an indivisible component of a name, as defined by the naming convention.) 133.99 312 T (A) 108 292 T 0 F (compound) 119.96 292 T (name) 173.24 292 T 2 F (represents) 202.52 292 T (a) 254.46 292 T (sequence) 263.08 292 T (of) 310.35 292 T (zero) 323.64 292 T (or) 347.58 292 T (more) 360.87 292 T (atomic) 388.83 292 T (names) 424.78 292 T (composed) 458.73 292 T (according) 510.68 292 T 54 436/G3.996761 FmPA (to the naming convention.) 108 278 T (For) 108 258 T (example,) 127.59 258 T (in) 174.16 258 T (UNIX) 186.41 258 T (pathnames,) 219.32 258 T (atomic) 276.56 258 T (names) 312.14 258 T (are) 345.72 258 T (ordered) 363.29 258 T (from) 402.85 258 T (left) 429.1 258 T (to) 448.01 258 T (right,) 460.27 258 T (and) 488.85 258 T (are) 509.1 258 T (delim-) 526.67 258 T 54 402/G3.996762 FmPA (ited) 108 244 T (by) 129.26 244 T (slash) 144.53 244 T (\050\324/\325\051) 171.79 244 T (characters.) 194.38 244 T (The) 249.28 244 T (UNIX) 271.2 244 T (pathname) 304.45 244 T 4 10 Q (usr/local/bin) 354.37 244 T 2 12 Q (is) 435.64 244 T (a) 446.9 244 T (compound) 455.5 244 T (name) 509.42 244 T (rep-) 538.68 244 T (resenting) 108 230 T (the) 155.18 230 T (sequence) 173.03 230 T (of) 220.2 230 T (atomic) 233.38 230 T (names,) 269.24 230 T 4 10 Q (usr,) 306.08 230 T (local,) 336.46 230 T 2 12 Q (and) 380.11 230 T 4 10 Q (bin) 405.09 230 T 2 12 Q (.) 423.09 230 T (In) 429.28 230 T (names) 442.46 230 T (from) 476.31 230 T (the) 502.83 230 T (Internet) 520.68 230 T (Domain) 108 216 T (Name) 149.96 216 T (System) 181.9 216 T (\050DNS\051,) 220.53 216 T (atomic) 258.82 216 T (names) 294.77 216 T (are) 328.73 216 T (ordered) 346.67 216 T (from) 386.61 216 T (right) 413.23 216 T (to) 439.19 216 T (left,) 451.81 216 T (and) 474.1 216 T (are) 494.72 216 T (delimited) 512.66 216 T (by) 108 202 T (dot) 122.54 202 T (\050\324.\325\051) 140.43 202 T (characters.) 161.96 202 T (Thus,) 216.14 202 T (the) 245.68 202 T (DNS) 262.89 202 T (name) 289.43 202 T 4 10 Q (sales.Wiz.COM) 317.97 202 T 2 12 Q (is) 398.52 202 T (a) 409.07 202 T (compound) 416.94 202 T (name) 470.15 202 T (representing) 498.68 202 T (the sequence of atomic names,) 108 188 T 4 10 Q (COM, Wiz, sales) 257.96 188 T 2 12 Q (.) 347.96 188 T (The association of an atomic name with an object is called a) 108 168 T 0 F (binding) 399.95 168 T 2 F (.) 436.62 168 T 54 312/G3.996763 FmPA (A) 108 148 T 0 F (context) 119.04 148 T 2 F (is) 156.07 148 T (an) 166.45 148 T (object) 180.15 148 T (whose) 211.86 148 T (state) 244.89 148 T (is) 269.26 148 T (a) 279.64 148 T (set) 287.35 148 T (of) 303.05 148 T (bindings) 315.42 148 T (with) 359.14 148 T (distinct) 382.85 148 T (atomic) 420.57 148 T (names.) 455.61 148 T (Every) 491.64 148 T (context) 522.67 148 T 54 292/G3.996764 FmPA (has) 108 134 T (an) 127.14 134 T (associated) 141.61 134 T (naming) 194.08 134 T (convention.) 233.22 134 T (A) 292.69 134 T (context) 304.5 134 T (provides) 342.97 134 T (a) 387.44 134 T (lookup) 395.92 134 T (\050resolution\051) 432.4 134 T (operation) 491.53 134 T (that) 540 134 T (returns) 108 120 T (an) 145.15 120 T (object,) 160.3 120 T (and) 196.46 120 T (may) 217.61 120 T (provide) 242.1 120 T (operations) 282.58 120 T (such) 336.4 120 T (as) 362.22 120 T (for) 376.04 120 T (binding) 393.86 120 T (names,) 434.36 120 T (unbinding) 471.84 120 T (names,) 524.34 120 T (listing) 108 106 T (bound) 141.55 106 T (names.) 175.09 106 T (An) 212.28 106 T (atomic) 230.48 106 T (name) 266.68 106 T (in) 296.21 106 T (one) 309.08 106 T (context) 329.95 106 T (object) 368.82 106 T (can) 401.68 106 T (be) 421.87 106 T (bound) 436.74 106 T (to) 470.27 106 T (another) 483.15 106 T (context) 522.67 106 T (object) 108 92 T (of) 147.14 92 T (the) 166.94 92 T (same) 191.42 92 T (type,) 225.89 92 T (called) 259.36 92 T (a) 297.83 92 T 0 F (subcontext) 312.97 92 T 2 F (,) 364.29 92 T (giving) 377.1 92 T (rise) 417.58 92 T (to) 444.72 92 T (compound) 463.87 92 T (names.) 524.34 92 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.5/DEST FmPD2 108 864/M3.9.37442.chapter.2.Role.of.a.Java.Bean FmPA 108 864/I3.1.996750 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "5" 9 %%Page: "6" 10 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Fundamentals) 500.78 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (6) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (Resolution) 108 712 T (of) 162.96 712 T (compound) 175.9 712 T (names) 229.51 712 T (proceeds) 263.12 712 T (by) 308.72 712 T (looking) 323.67 712 T (up) 363.29 712 T (each) 378.24 712 T (successive) 403.17 712 T (atomic) 456.77 712 T (component) 492.39 712 T (in) 548.66 712 T 54 856/G3.996766 FmPA (each) 108 698 T (successive) 133.12 698 T (context.) 186.92 698 T (The) 228.38 698 T (reader) 250.18 698 T (will) 283.3 698 T (find) 305.11 698 T (a) 327.59 698 T (familiar) 336.05 698 T (model) 377.19 698 T (in) 410.33 698 T 2 10 Q (UNIX) 422.8 698 T 2 12 Q (file) 450.93 698 T (naming,) 470.07 698 T (where) 512.21 698 T (di-) 544.67 698 T (rectories serve as contexts, and pathnames may be compound names.) 108 684 T (A) 108 664 T 0 F (naming) 119.3 664 T (system) 157.93 664 T 2 F (is) 192.55 664 T (a) 203.19 664 T (connected) 211.15 664 T (set) 262.43 664 T (of) 278.39 664 T (contexts) 291.02 664 T (of) 333.65 664 T (the) 346.28 664 T (same) 363.57 664 T (type) 390.87 664 T (\050having) 414.16 664 T (the) 453.45 664 T (same) 470.75 664 T (naming) 498.04 664 T (con-) 536.68 664 T 54 808/G3.996767 FmPA (vention\051 and providing the same set of operations with identical semantics.) 108 650 T (A) 108 630 T 0 F (namespace) 119.66 630 T 2 F (is the set of all names in a naming system.) 175.98 630 T 54 774/G3.996768 FmPA (A) 108 610 T 0 F (composite) 119.64 610 T (name) 171.29 610 T 2 F (is) 200.26 610 T (a) 211.24 610 T (name) 219.55 610 T (that) 248.53 610 T (spans) 269.51 610 T (multiple) 299.15 610 T (naming) 342.14 610 T (systems.) 381.12 610 T (It) 425.11 610 T (consists) 435.42 610 T (of) 476.41 610 T (an) 489.39 610 T (ordered) 503.69 610 T (list) 543.32 610 T 54 754/G3.996769 FmPA (of) 108 596 T (zero) 120.27 596 T (or) 143.2 596 T (more) 155.48 596 T (components.) 182.41 596 T (Each) 245.68 596 T (component) 271.95 596 T (is) 327.55 596 T (a) 337.84 596 T (name) 345.44 596 T (from) 373.71 596 T (the) 399.32 596 T (namespace) 416.26 596 T (of) 471.18 596 T (a) 483.45 596 T (single) 491.05 596 T (naming) 522 596 T (system.) 108 582 T (For) 108 562 T (example,) 129.71 562 T (the) 178.41 562 T (name) 198.12 562 T 4 10 Q (jurassic.eng:/export/home/jdoe/.signature) 229.16 562 T 2 12 Q (is) 485.25 562 T (a) 498.3 562 T (composite) 508.67 562 T 54 706/G3.996770 FmPA (name) 108 548 T (representation) 137.14 548 T (made) 208.26 548 T (up) 237.4 548 T (of) 252.54 548 T (a) 265.68 548 T (host) 274.15 548 T (name) 297.3 548 T 4 10 Q (jurassic.eng) 326.44 548 T 2 12 Q (from) 405.98 548 T (a) 432.45 548 T (host) 440.93 548 T (namespace,) 464.08 548 T (and) 522.86 548 T (the) 543.34 548 T (file) 108 534 T (name) 126.67 534 T 4 10 Q (/export/home/jdoe/.signature) 155.34 534 T 2 12 Q (from) 326.01 534 T (a) 352.01 534 T 2 10 Q (UNIX) 360.02 534 T 2 12 Q (file) 387.68 534 T (namespace.) 406.35 534 T (Another) 464.67 534 T (example) 506.67 534 T (is) 550 534 T (the) 108 520 T (Internet) 126.22 520 T 2 10 Q (URL) 167.1 520 T 4 F (http://www.moon.org/public/index.html,) 190.66 520 T 2 12 Q (which) 425.78 520 T (is) 458.67 520 T (a) 470.23 520 T (composite) 479.12 520 T (name) 532.01 520 T (representation) 108 506 T (made) 182.57 506 T (up) 215.14 506 T (of) 233.73 506 T (the) 250.31 506 T (scheme-id) 271.56 506 T 4 10 Q (http) 327.46 506 T 2 12 Q (from) 358.05 506 T (the) 387.96 506 T (\322) 409.21 506 T 2 10 Q (URL) 414.54 506 T 2 12 Q (scheme-id\323) 441.12 506 T (namespace,) 502.36 506 T 4 10 Q (www.moon.org) 108 492 T 2 12 Q (which) 182.73 492 T (is) 214.79 492 T (the) 225.53 492 T 2 10 Q (DNS) 242.93 492 T 2 12 Q (name) 265.66 492 T (of) 294.39 492 T (the) 307.12 492 T (machine) 324.51 492 T (on) 367.9 492 T (which) 382.64 492 T (the) 414.7 492 T (web) 432.1 492 T (server) 454.82 492 T (is) 486.87 492 T (running,) 497.61 492 T (and) 540.67 492 T 4 10 Q (public/index.html) 108 478 T 2 12 Q ( which is a file name from a file namespace.) 210 478 T (Every) 108 458 T (name) 139.97 458 T (is) 169.28 458 T (interpreted) 180.6 458 T (relative) 235.9 458 T (to) 275.2 458 T (some) 287.85 458 T (context,) 316.49 458 T (and) 358.14 458 T (every) 378.78 458 T (naming) 408.75 458 T (operation) 448.06 458 T (is) 496.7 458 T (performed) 508.02 458 T 54 602/G3.996771 FmPA (on) 108 444 T (a) 123.36 444 T (context) 132.04 444 T (object.) 170.73 444 T (A) 206.41 444 T (client) 218.43 444 T (can) 248.45 444 T (obtain) 268.47 444 T (an) 301.82 444 T 0 F (initial) 316.51 444 T (context) 348.55 444 T 2 F (object) 386.56 444 T (that) 419.24 444 T (provides) 440.6 444 T (a) 485.29 444 T (starting) 493.97 444 T (point) 533.33 444 T (for resolution of names.) 108 430 T 3 14 Q (4.2) 72.5 402.67 T (Directory Objects) 108 402.67 T 54 547/G3.996772 FmPA 2 12 Q (The) 108 382 T (primary) 129.2 382 T (function) 169.73 382 T (of) 212.27 382 T (a) 224.81 382 T (naming) 232.68 382 T (system) 271.22 382 T (is) 307.09 382 T (to) 317.64 382 T (map) 329.51 382 T (names) 352.72 382 T (to) 385.92 382 T (objects.) 397.8 382 T (The) 437.33 382 T (objects) 458.53 382 T (can) 495.07 382 T (be) 514.27 382 T (of) 528.14 382 T (any) 540.67 382 T 54 526/G3.996773 FmPA (type.) 108 368 T (A) 134.58 368 T 0 F (directory) 146.15 368 T (object) 193.06 368 T 2 F (is) 225.3 368 T (a) 236.21 368 T (particular) 244.45 368 T (type) 293.35 368 T (of) 316.92 368 T (object) 329.83 368 T (that) 362.07 368 T (is) 382.98 368 T (used) 393.9 368 T (to) 418.81 368 T (represent) 431.06 368 T (the) 477.95 368 T (variety) 495.52 368 T (of) 531.76 368 T (in-) 544.67 368 T (formation) 108 354 T (in) 160.08 354 T (a) 174.16 354 T (computing) 184.24 354 T (environment.) 240.32 354 T (A) 308.73 354 T (directory) 322.14 354 T (object) 370.21 354 T (can) 404.29 354 T (have) 425.69 354 T (associated) 453.1 354 T (with) 507.16 354 T (it) 533.25 354 T 0 F (at-) 544.67 354 T (tributes) 108 340 T 2 F (. An attribute has an identifier and a set of values.) 144.67 340 T (A) 108 320 T (directory) 118.94 320 T (object) 164.54 320 T (provides) 196.15 320 T (operations) 239.76 320 T (for) 292.03 320 T (creating) 308.3 320 T (attributes,) 349.23 320 T (adding,) 399.17 320 T (removing,) 437.11 320 T (and) 488.39 320 T (modifying) 508 320 T 54 464/G3.997397 FmPA (attributes) 108 306 T (associated) 155.76 306 T (with) 208.17 306 T (the) 232.61 306 T (directory) 250.37 306 T (object.) 296.78 306 T (If) 332.2 306 T (we) 343.29 306 T (make) 360.38 306 T (a) 389.46 306 T (directory) 397.89 306 T (object) 444.3 306 T (also) 476.73 306 T (be) 499.15 306 T (a) 513.58 306 T (naming) 522 306 T (context,) 108 292 T (we) 149.55 292 T (can) 166.76 292 T (represent) 186.64 292 T (trees) 233.84 292 T (of) 259.72 292 T (directory) 272.94 292 T (information) 319.48 292 T (where) 379.37 292 T (the) 411.91 292 T (interior) 429.79 292 T (nodes) 468.34 292 T (not) 499.56 292 T (only) 518.12 292 T (be-) 542.68 292 T (have like naming contexts but also contain attributes.) 108 278 T (Figure 2 is an example used for illustrating several things.) 108 258 T 54 402/G3.996919 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.6/DEST FmPD2 [/Rect[108 254 150 267]/Border[0 0 0]/Page 11/View[/XYZ null 98 864 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "6" 10 %%Page: "7" 11 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Fundamentals) 500.78 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (7) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 F 0 X (Figur) 54 712 T (e 2:) 77.71 712 T 3 12 Q (Example of a Composite Namespace) 95.48 712 T 54 856/G3.997498 FmPA 54 99 558 708 C 0 0 0 1 0 0 0 1 K 1 1 0 0 0 0 1 1 K 1 X 90 450 13.5 13.5 288.22 651.18 G 1 H 2 Z 0 X 90 450 13.5 13.5 288.22 651.18 A 1 0 1 0 0 1 0 1 K 3 X 90 450 13.5 13.5 245.05 379.68 G 0 X 90 450 13.5 13.5 245.05 379.68 A 3 X 90 450 13.5 13.5 182.05 379.68 G 0 X 90 450 13.5 13.5 182.05 379.68 A 3 X 90 450 13.5 13.5 407.05 460.68 G 5 X 90 450 13.5 13.5 407.05 460.68 A 3 X 90 450 13.5 13.5 245.05 460.68 G 0 X 90 450 13.5 13.5 245.05 460.68 A 3 X 90 450 13.5 13.5 299.05 379.68 G 0 X 90 450 13.5 13.5 299.05 379.68 A 3 X 90 450 13.5 13.5 364.22 409.68 G 90 450 13.5 13.5 364.22 409.68 A 90 450 13.5 13.5 326.05 460.68 G 0 X 90 450 13.5 13.5 326.05 460.68 A 3 X 90 450 13.5 13.5 137.05 316.68 G 0 X 90 450 13.5 13.5 137.05 316.68 A 0 1 1 0 1 0 0 1 K 122.38 277.85 104.38 250.85 140.38 250.85 3 Y 2 X V 0 X N 362.38 284.52 344.38 257.52 380.38 257.52 3 Y 2 X V 0 X N 379.88 247.02 361.88 220.02 397.88 220.02 3 Y 9 X V 0 X N 210.38 277.68 192.38 250.68 228.38 250.68 3 Y 10 X V 0 X N 0 0 0 1 0 0 0 1 K 276.24 638.43 238.72 601.68 2 L N 292.72 637.68 312.91 547.6 2 L N 240.55 447.18 186.55 393.18 2 L N 245.38 448.02 245.38 394.02 2 L N 252.55 449.85 290.88 389.85 2 L N 174.22 367.35 143.38 329.02 2 L N 240.05 364.85 210.05 275.68 2 L N 137.55 302.35 122.55 277.35 2 L N 396.24 447.6 372.91 420.1 2 L N 415.05 449.85 447.55 392.35 2 L N 437.91 369.27 418.38 319.85 2 L N 452.08 373.43 487.08 345.1 2 L N 412.55 293.18 380.88 248.18 2 L N 300.05 644.85 384.22 595.68 2 L N 242.55 493.18 M 197.82 488.23 162.91 455.39 141.64 421.52 D 130.11 403.15 118.16 386.08 116.31 366.52 D 114.02 342.32 98.05 294.39 135.05 295.32 D 197.76 296.9 264.9 305.37 321.72 351.91 D 335.77 363.43 334.42 410.15 307.7 438.18 D 287.64 459.24 267.36 478.79 244.22 494.02 D N 381.72 483.18 M 340.06 439 337.99 363.94 353.06 304.85 D 359.71 278.8 401.68 278.25 426.72 298.89 D 458.91 325.44 533.09 370.35 490.92 428.18 D 466.65 461.45 422.66 490.83 379.22 482.35 D N 3 X 90 450 10 9.17 271.72 292.35 G 90 450 10 9.17 271.72 292.35 A 90 450 10 9.17 252.22 261.85 G 90 450 10 9.17 252.22 261.85 A 90 450 10 9.17 288.55 259.68 G 90 450 10 9.17 288.55 259.68 A 90 450 10 9.17 287.38 225.02 G 90 450 10 9.17 287.38 225.02 A 90 450 10 9.17 257.05 225.35 G 90 450 10 9.17 257.05 225.35 A 90 450 10 9.17 315.05 225.68 G 90 450 10 9.17 315.05 225.68 A 266.72 284.02 256.72 269.85 2 L 0 X N 275.88 284.02 284.22 265.68 2 L N 283.38 251.52 260.05 234.02 2 L N 288.38 250.68 287.55 232.35 2 L N 296.72 254.02 312.55 231.52 2 L N 262.55 304.85 M 240.48 284.98 226.84 247.52 242.42 218.18 D 255.51 193.52 293.7 189.93 321.72 201.17 D 350.25 212.62 341.63 260.85 323.38 272.88 D 301.64 287.19 285.87 310.56 263.38 307.35 D N 250.05 365.68 268.38 300.68 2 L N 0 1 1 0 1 0 0 1 K 160.38 277.35 142.38 250.35 178.38 250.35 3 Y 2 X V 0 X N 0 0 0 1 0 0 0 1 K 143.38 303.18 160.05 278.18 2 L N 240.88 201.52 232.55 189.02 246.72 189.02 3 Y 3 X V N 288.05 193.52 279.72 181.02 293.88 181.02 3 Y V N 317.72 198.85 309.38 186.35 323.55 186.35 3 Y V N 337.38 200.02 329.05 187.52 343.22 187.52 3 Y V N 250.05 218.18 240.88 201.52 2 L 0 X N 286.72 214.02 287.55 194.85 2 L N 317.55 214.85 316.72 199.85 2 L N 322.55 219.02 338.38 200.68 2 L N 0 1 1 0 1 0 0 1 K 454.55 247.35 436.55 220.35 472.55 220.35 3 Y 9 X V 0 X N 417.55 230.18 399.55 203.18 435.55 203.18 3 Y 9 X V 0 X N 0 0 0 1 0 0 0 1 K 415.88 293.18 417.55 227.35 2 L N 425.05 295.68 454.22 245.68 2 L N 5 12 Q (LDAP) 102.07 444.27 T 1 1 0 0 0 0 1 1 K 1 X 90 450 13.5 13.5 392.05 584.85 G 0 X 90 450 13.5 13.5 392.05 584.85 A 1 X 90 450 13.5 13.5 237.55 591.85 G 0 X 90 450 13.5 13.5 237.55 591.85 A 1 X 90 450 13.5 13.5 315.55 535.52 G 0 X 90 450 13.5 13.5 315.55 535.52 A 0 0 0 1 0 0 0 1 K 305.41 525.93 252.07 472.6 2 L N 325.1 525.97 397.5 470.23 2 L N 315.55 522.02 326.05 474.18 2 L N 293.74 660.1 311.24 678.27 2 L N 309.58 667.6 M 241.53 690.39 155.62 634.11 190.53 557.6 D 202.09 532.27 248.79 549.39 275.01 520.1 D 304.03 487.67 367.89 491.09 400.75 530.93 D 421.89 556.57 441.81 615.24 403.74 634.35 D 374.65 648.95 335.83 643.27 308.74 666.77 D N (DNS) 132.91 591.77 T 3 X 90 450 10 9.17 495.41 338.16 G 90 450 10 9.17 495.41 338.16 A 90 450 10 9.17 485.08 302.66 G 90 450 10 9.17 485.08 302.66 A 90 450 10 9.17 512.24 305.5 G 90 450 10 9.17 512.24 305.5 A 90 450 10 9.17 511.08 270.83 G 90 450 10 9.17 511.08 270.83 A 90 450 10 9.17 480.74 271.16 G 90 450 10 9.17 480.74 271.16 A 90 450 10 9.17 538.74 271.5 G 90 450 10 9.17 538.74 271.5 A 490.41 329.83 485.41 312.6 2 L 0 X N 499.58 329.83 507.91 311.49 2 L N 507.08 297.33 483.74 279.83 2 L N 512.08 296.49 511.24 278.16 2 L N 520.41 299.83 536.24 277.33 2 L N 485.41 238.99 477.08 226.49 491.24 226.49 3 Y 3 X V N 511.74 239.33 503.41 226.83 517.58 226.83 3 Y V N 529.25 247.99 521.41 235.49 534.74 235.49 3 Y V N 480.41 261.77 486.24 236.77 2 L 0 X N 510.41 259.83 511.24 240.66 2 L N 535.41 261.77 531.24 244.27 2 L N 1 0 1 0 0 1 0 1 K 3 X 90 450 13.5 13.5 403.05 405.85 G 90 450 13.5 13.5 403.05 405.85 A 90 450 13.5 13.5 396.05 363.68 G 90 450 13.5 13.5 396.05 363.68 A 90 450 13.5 13.5 443.22 384.02 G 90 450 13.5 13.5 443.22 384.02 A 0 0 0 1 0 0 0 1 K 404.58 447.6 402.91 419.27 2 L 0 X N 402.08 392.6 397.91 375.93 2 L V N 541.24 263.43 543.74 245.1 2 L N 544.75 243.33 536.91 230.83 550.24 230.83 3 Y 3 X V N 499.58 355.1 M 465.51 341.87 450.4 286.93 474.58 264.34 D 495.57 244.71 541.12 242.1 548.02 271.77 D 556.59 308.65 533.03 344.84 497.08 354.27 D 0 X N 1 0 1 0 0 1 0 1 K 3 X 90 450 13.5 13.5 416.55 307.35 G 90 450 13.5 13.5 416.55 307.35 A 0 0 0 1 0 0 0 1 K 391.24 350.1 362.91 285.93 2 L 0 X N (\322User\323 objects) 103.74 233.43 T (File System) 282.91 305.1 T (Printer Service) 444.58 283.43 T (NDS) 450.41 472.6 T (File) 223.74 178.43 T (Printer) 505.41 213.43 T 0 1 0 0 1 0 1 1 K 3 X 90 450 18.92 18.5 79.3 539.35 G 0 X 90 450 18.92 18.5 79.3 539.35 A 0 0 0 1 0 0 0 1 K 3 F (InitialContext) 57.07 504.6 T J 259 638.82 257.35 641.87 269.64 644.57 260.65 635.76 4 Y 0 Z N 259 638.82 257.35 641.87 269.64 644.57 260.65 635.76 4 Y V J 95.41 550.43 98.49 552.1 2 L 2 Z N [7.137 7.137] 7.137 I 98.49 552.1 255.48 636.91 2 L N J 255.48 636.91 258.56 638.58 2 L N J 179.96 412.69 183.43 412.8 180.35 400.58 176.49 412.58 4 Y 0 Z N 179.96 412.69 183.43 412.8 180.35 400.58 176.49 412.58 4 Y V [7.298 7.298] 3.649 I 97.07 534.6 M 140.11 534.6 177.74 481.53 179.94 413.19 D 2 Z N J 286.63 540.56 287.08 543.99 298.61 539 286.19 537.12 4 Y 0 Z N 286.63 540.56 287.08 543.99 298.61 539 286.19 537.12 4 Y V [7.178 7.178] 3.589 I 99.57 543.77 M 184.16 543.77 256.74 544.44 286.14 540.62 D 2 Z N J 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.7/DEST FmPD2 98 864/M3.9.18691.FigureTitle.Figure.1.Example.of.a.Composite.Namespace FmPA 98 864/I3.1.997666 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "7" 11 %%Page: "8" 12 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Fundamentals) 500.78 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (8) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (\245) 115 712 T (\324There) 126 712 T (can) 163.99 712 T (be) 186.65 712 T (multiple) 203.98 712 T (naming) 250 712 T (systems) 292 712 T (that) 336.01 712 T (can) 360.02 712 T (be) 382.68 712 T (represented) 400.01 712 T (by) 461.33 712 T (a) 479.33 712 T (composite) 490.67 712 T 54 856/G3.996776 FmPA (namespace.) 126 698 T (In) 185.17 698 T (this) 198.69 698 T (case,) 219.56 698 T (DNS) 246.74 698 T (is) 274.26 698 T (used) 285.79 698 T (as) 311.32 698 T (the) 324.84 698 T (global) 343.03 698 T (naming) 376.55 698 T (system;) 416.08 698 T (one) 456.28 698 T (division) 477.13 698 T (uses) 519.34 698 T (NDS, while a second division uses LDAP.) 126 684 T (\245) 115 664 T (Each) 126 664 T (namespace) 155.06 664 T (has) 212.77 664 T (interior) 233.83 664 T (nodes) 274.23 664 T (that) 307.29 664 T (represent) 330.36 664 T (naming) 379.41 664 T (contexts,) 420.48 664 T (which) 468.54 664 T (may) 502.94 664 T (be) 528.67 664 T 54 808/G3.996777 FmPA (directory objects as well. Leaf nodes can be objects of any type.) 126 650 T (\245) 115 630 T (The) 126 630 T 0 F (InitialContext) 147.16 630 T 2 F (is) 216.34 630 T (configured) 226.85 630 T (to) 281.33 630 T (have) 293.17 630 T (bindings) 318.33 630 T (to) 362.17 630 T (useful) 374.01 630 T (starting) 405.84 630 T (contexts) 444.35 630 T (in) 486.85 630 T (different) 498.68 630 T 54 774/G3.996778 FmPA (naming and directory systems.) 126 616 T (\245) 115 596 T (Applications) 126 596 T (just) 189.67 596 T (see) 209.35 596 T (a) 227.02 596 T (composite) 234.68 596 T (namespace.) 286.36 596 T (They) 344.34 596 T (can) 371.34 596 T (access) 390.34 596 T (any) 423.32 596 T (type) 442.99 596 T (of) 466 596 T (object) 478.33 596 T (bound) 510 596 T 54 740/G3.996779 FmPA (in any naming system in this arrangement.) 126 582 T (\245) 115 562 T (Services) 126 562 T (can) 170.12 562 T (incorporate) 190.24 562 T (their) 248.35 562 T (own) 273.82 562 T (namespaces) 297.94 562 T (which) 358.72 562 T (appear) 391.51 562 T (as) 426.96 562 T (first-class) 440.42 562 T (citizens) 490.54 562 T (in) 530.66 562 T 54 706/G3.997471 FmPA (JNDI.) 126 548 T (\245) 115 528 T (Arbitrary) 126 528 T (directory) 177.06 528 T (services) 226.79 528 T (can) 271.86 528 T (be) 294.92 528 T (added) 312.66 528 T (and) 347.73 528 T (accessed) 371.46 528 T (without) 419.85 528 T (requiring) 462.93 528 T (client) 513.34 528 T 54 672/G3.997472 FmPA (applications to be changed.) 126 514 T 3 14 Q (4.3) 72.5 486.67 T (URLs and Composite Names) 108 486.67 T 54 631/G3.996782 FmPA 2 12 Q (Universal) 108 466 T (Resource) 158.97 466 T (Locators) 207.93 466 T (\050URLs\051) 254.24 466 T (are) 295.21 466 T (special) 314.17 466 T (composite) 351.81 466 T (names) 405.46 466 T (whose) 440.43 466 T (syntax) 475.4 466 T (are) 511.05 466 T (deter-) 530.02 466 T 54 610/G3.998588 FmPA (mined) 108 452 T (by) 140.69 452 T (the) 155.38 452 T (URL\325s) 172.73 452 T (definition.) 208.09 452 T (Clients) 260.45 452 T (of) 297.14 452 T (JNDI) 309.83 452 T (can) 338.51 452 T (use) 357.86 452 T (URLs) 376.55 452 T (to) 407.9 452 T (refer) 419.93 452 T (to) 445.26 452 T (arbitrary) 457.29 452 T (types) 501.3 452 T (of) 529.32 452 T (ob-) 542 452 T (jects.) 108 438 T (For) 136.11 438 T (example,) 155.9 438 T (a) 202.67 438 T (client) 211.12 438 T (can) 240.9 438 T (use) 260.67 438 T 4 10 Q (nfs://nfs.sun.com/export/jndi/src/README) 279.79 438 T 2 12 Q (to) 522.9 438 T (refer) 535.36 438 T (to) 108 424 T (a) 119.87 424 T (file) 127.73 424 T (object) 146.27 424 T (that) 178.13 424 T (is) 198.66 424 T (being) 209.2 424 T (accessed) 238.4 424 T (using) 282.91 424 T (the) 311.45 424 T (Network) 328.65 424 T (File) 373.17 424 T (System) 394.38 424 T (\050NFS\051) 432.26 424 T (protocol.) 464.79 424 T (Similarly,) 510.32 424 T (a) 108 410 T (client) 117.16 410 T (can) 147.65 410 T (perform) 168.13 410 T (directory) 210.62 410 T (operations) 257.76 410 T (on) 311.58 410 T (a) 327.41 410 T (directory) 336.57 410 T (object) 383.72 410 T (in) 416.88 410 T (an) 430.04 410 T (LDAP) 445.2 410 T (server) 480.36 410 T (using) 513.5 410 T (the) 543.34 410 T (URL) 108 396 T 4 10 Q (ldap://ldap.widget.com/cn=Jonathan,ou=marketing) 135 396 T 2 12 Q (.) 417 396 T (To) 108 376 T (support) 124.95 376 T (composite) 164.57 376 T (names) 217.52 376 T (in) 251.8 376 T (general,) 264.76 376 T (JNDI) 306.69 376 T (defines) 336.3 376 T (a) 374.58 376 T (composite) 383.53 376 T (name) 436.48 376 T (syntax) 466.09 376 T (and) 501.04 376 T (utilities) 521.99 376 T 54 520/G3.998683 FmPA (for) 108 362 T (processing) 125.54 362 T (composite) 180.42 362 T (names.) 233.3 362 T (This) 270.52 362 T (allows) 295.4 362 T (clients) 330.29 362 T (of) 365.17 362 T (JNDI) 378.72 362 T (to) 408.26 362 T (refer) 421.15 362 T (to) 447.35 362 T (objects) 460.24 362 T (using) 497.78 362 T (names) 527.34 362 T (that span multiple namespaces.) 108 348 T 3 14 Q (4.4) 72.5 320.67 T (Events) 108 320.67 T 54 465/G3.998686 FmPA 2 12 Q (As) 108 300 T (the) 123.73 300 T (naming/directory) 140.78 300 T (service) 225.83 300 T (plays) 262.21 300 T (an) 289.94 300 T (increasingly) 303.66 300 T (important) 364.71 300 T (role) 413.77 300 T (in) 434.83 300 T (the) 446.56 300 T (computing) 463.61 300 T (environ-) 517.34 300 T 54 444/G3.998689 FmPA (ment,) 108 286 T (the) 138.31 286 T (need) 156.29 286 T (to) 182.26 286 T (provide) 194.9 286 T (administration) 234.88 286 T (and) 307.52 286 T (monitoring) 328.16 286 T (tools) 384.82 286 T (to) 411.47 286 T (help) 424.12 286 T (manage) 448.09 286 T (changes) 488.72 286 T (in) 530.69 286 T (the) 543.34 286 T (service) 108 272 T (also) 145.69 272 T (increases.) 168.72 272 T (For) 219.41 272 T (such) 239.78 272 T (tools) 265.48 272 T (and) 292.52 272 T (other) 313.55 272 T (applications,) 341.92 272 T (the) 406.62 272 T (traditional) 424.98 272 T (request/response) 478.02 272 T (style) 108 258 T (of) 133.13 258 T (interaction) 145.6 258 T (needs) 199.38 258 T (to) 229.17 258 T (be) 240.98 258 T (augmented) 254.77 258 T (with) 309.89 258 T (an) 333.69 258 T (asynchronous) 347.49 258 T (notification) 415.94 258 T (model) 473.74 258 T (that) 506.2 258 T (allows) 526.67 258 T (applications to register interest in changes in the service.) 108 244 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.8/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "8" 12 %%Page: "9" 13 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (9) 303.5 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (5) 81 708 T (Overview of the Interface) 108 708 T 54 852/G3.998631 FmPA 2 12 Q (The JNDI API is contained in four packages:) 108 680 T 54 824/G3.997932 FmPA (\245) 115 660 T 4 10 Q (javax.naming) 126 660 T 2 12 Q ( contains classes and interfaces for accessing naming services) 198 660 T 54 804/G3.998721 FmPA (\245) 115 640 T 4 10 Q (javax.naming.directory) 126 640 T 2 12 Q (extends) 260.76 640 T (the) 300.18 640 T (core) 317.6 640 T 4 10 Q (javax.naming) 341.01 640 T 2 12 Q (package) 415.77 640 T (to) 457.84 640 T (provide) 469.93 640 T (access) 509.35 640 T 54 784/G3.998728 FmPA (to directories) 126 626 T (\245) 115 606 T 4 10 Q (javax.naming.event) 126 606 T 2 12 Q (contains) 236.76 606 T (classes) 279.51 606 T (and) 315.59 606 T (interfaces) 335.68 606 T (for) 385.08 606 T (supporting) 401.83 606 T (event) 455.92 606 T (notification) 484.67 606 T 54 750/G3.998744 FmPA (in naming and directory services) 126 592 T (\245) 115 572 T 4 10 Q (javax.naming.ldap) 126 572 T 2 12 Q (contains) 236.26 572 T (classes) 284.51 572 T (and) 326.09 572 T (interfaces) 351.67 572 T (for) 406.57 572 T (supporting) 428.82 572 T (LDAP) 488.41 572 T (v3) 528 572 T 54 716/G3.998745 FmPA (extensions and controls) 126 558 T (The JNDI service provider interface is contained one package:) 108 538 T 54 682/G3.998729 FmPA (\245) 115 518 T 4 10 Q (javax.naming.spi) 130.74 518 T 2 12 Q (contains) 231.48 518 T (classes) 276.21 518 T (and) 314.27 518 T (interfaces) 336.34 518 T (that) 387.73 518 T (allow) 410.46 518 T (various) 441.87 518 T (naming) 481.93 518 T (and) 522.67 518 T 54 662/G3.998765 FmPA (directory) 126 504 T (service) 171.79 504 T (providers) 208.24 504 T (to) 256.03 504 T (be) 267.84 504 T (dynamically) 281.63 504 T (plugged) 343.43 504 T (in) 384.56 504 T (beneath) 396.37 504 T (the) 436.15 504 T (JNDI) 453.29 504 T (API) 481.75 504 T (\050see) 503.55 504 T (the) 525.34 504 T 3 F (JNDI SPI) 126 490 T 2 F ( document for details\051) 175.67 490 T (The) 108 470 T (following) 129.37 470 T (sections) 178.75 470 T (provide) 220.13 470 T (an) 259.5 470 T (overview) 273.54 470 T (of) 320.91 470 T (the) 333.62 470 T (JNDI) 350.99 470 T (API.) 379.7 470 T (For) 404.74 470 T (more) 424.12 470 T (details) 451.5 470 T (on) 485.54 470 T (the) 500.25 470 T (API,) 517.63 470 T (see) 542.68 470 T 54 614/G3.997933 FmPA (the corresponding) 108 456 T 3 F (javadoc) 197.32 456 T 2 F (.) 237.31 456 T 3 14 Q (5.1) 72.5 424.93 T (The Naming Package \321) 108 424.93 T 3 12 Q (ja) 256.55 424.93 T (v) 266.25 424.93 T (ax.naming) 272.13 424.93 T 3 11.2 Q (1) 329.31 430.53 T 54 569/G3.997937 FmPA 54 550/G3.997943 FmPA 3 12 Q (5.1.1) 66 161 T (Contexts) 108 161 T 54 305/G3.997944 FmPA 4 10 Q (Context) 108 141 T 2 12 Q (is) 153.17 141 T (the) 164.35 141 T (core) 182.19 141 T (interface) 206.01 141 T (that) 251.16 141 T (specifies) 272.33 141 T (a) 317.5 141 T (naming) 326 141 T (context.) 365.17 141 T (It) 406.67 141 T (defines) 417.18 141 T (basic) 455.01 141 T (operations) 482.84 141 T (such) 536 141 T 54 285/G3.997945 FmPA (as) 108 127 T (adding) 121.57 127 T (a) 157.81 127 T (name-to-object) 166.71 127 T (binding,) 242.93 127 T (looking) 286.18 127 T (up) 326.42 127 T (the) 342 127 T (object) 360.24 127 T (bound) 393.14 127 T (to) 426.71 127 T (a) 439.62 127 T (specified) 448.53 127 T (name,) 495.42 127 T (listing) 527.99 127 T 54 84 558 98.98 C 0 0 0 1 0 0 0 1 K 54 84 558 98.98 R 7 X V 63 96.96 207 96.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 77.33 T (See Appendix C for le) 84 77.33 T (gend of class diagram.) 173.28 77.33 T 54 221/G3.997936 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 90 180 558 402.27 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (\050e) 396.99 188.44 T (xception classes are not sho) 404.61 188.44 T (wn\051) 515.45 188.44 T 0 30.24 563.76 453 761.76 422.76 198 111.79 203.85 FMBEGINEPSF %%BeginDocument: /home/jenball/ws/myjndi/spec/javax.naming-0.eps %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSans-Typewriter %%DocumentNeededFonts: LucidaSans-Typewriter %%BoundingBox: 30.24 563.76 453 761.76 %%EndComments /fontsize 6.00 def /boxdict 100 dict def boxdict begin /inch { 72 mul } def % % Primary input variables. If you change the default font, make sure % to update the comments above too. % /defaultfont /LucidaSans-Typewriter def /defaultscale fontsize def % % This variable is the approximate amount that the `center' of the text % line is above the baseline, as a fraction of the total height of % the font. % /centerabovebaseline 0 def /realtextheight 0 def /setcenterabovebaseline { gsave 0 0 moveto (\() false charpath pathbbox exch pop exch neg exch 2 index add /realtextheight exch def realtextheight div /centerabovebaseline exch def pop grestore } def /pagebegin { /pagerestore save def defaultfont findfont defaultscale scalefont setfont setcenterabovebaseline .5 inch -.5 inch translate } def /descender { /lly 0.0 def /ury 0.0 def { ( ) dup 0 4 -1 roll put charheight pop dup lly lt { /lly exch def } { pop } ifelse } forall lly } def % % This show operator takes a width and scales the text to fit the width. % It can scale height and width identically (aspect=1), or just scale % width (aspect=0), or scale width twice as much as height (aspect=0.5). % Set aspect to your taste. /mtwshow means max-text-width-show. A % more functional solution would take the maxtextwidth as a parameter % rather than using a global, but this has more impact on the existing % code so I don't do that. % /aspect 0.5 def /mtwshow { gsave 0 h 2 div centerabovebaseline 0.5 sub realtextheight mul add rmoveto currentpoint translate dup stringwidth pop dup javamaxtextwidth gt { 0 centerabovebaseline translate javamaxtextwidth exch div dup aspect mul 1 aspect sub add scale 0 centerabovebaseline neg translate } { pop } ifelse 0 0 moveto show grestore } def % % This macro gives us a rectangular path, just like rectstroke except it does not stroke. % Assumes origin is lower left hand corner, so only two args are passed. % /rectpath { /h exch def /w exch def newpath 0 0 moveto w 0 rlineto 0 h rlineto w neg 0 rlineto closepath } def % % This macro works like rectpath except it draws rounded corners. The radius of % the rounded corners must be set in the global variable /roundrectradius. % /roundrectradius 0 def /roundrectpath { /h exch def /w exch def newpath w 2 div 0 moveto w 0 w h roundrectradius arct w h w 2 div h roundrectradius arct 0 h 0 0 roundrectradius arct 0 0 w 2 div 0 roundrectradius arct closepath } def % % This macro takes a width and a height and draws either a roundrectpath or a rectpath % depending on the setting of the /rounded macro. It also sets the roundrectradius % to half the height before doing this, as appropriate for the smaller boxes. % /rounded false def % by default, square boxes. /javarect { /h exch def /w exch def /roundrectradius h 2 div def w h rounded { roundrectpath } { rectpath } ifelse } def % % Draw a shadowed box/rounded box. This is the four-argument macro that takes a x, y, % width, and height. % /shadowed true def /corner false def /shadowxoff 2 def /shadowyoff -2 def /shadowcolor { 0.6 0.6 0.6 } def /boxbgcolor { 1 1 1 } def /dotted false def /dotcolor { 0 0 0 } def /black { 0 0 0 } def /javabox { /h exch def /w exch def gsave translate shadowed { gsave shadowxoff shadowyoff translate shadowcolor setrgbcolor w h javarect gsave stroke grestore fill grestore } if w h javarect gsave boxbgcolor setrgbcolor fill grestore stroke % % Always draw the dot centered at position (w-h/2, h/2) with a size of 0.6 of the height. % /javamaxtextwidth maxtextwidth def dotted { gsave /r 0.4 h mul 2 div def w h 2 div sub h 2 div r 0 360 arc gsave dotcolor setrgbcolor fill grestore stroke grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if corner { gsave w h 3 div sub 0 moveto w h 3 div lineto w 0 lineto w h 3 div sub 0 lineto gsave stroke grestore black setrgbcolor fill grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if grestore } def end % %%EndProlog %%BeginSetup boxdict begin %%EndSetup %%Page: 1 1 pagebegin 1 setlinecap 1 setlinejoin % currentlinewidth 0.1 mul setlinewidth .3 setlinewidth gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.68 inch moveto 3.84 inch 10.68 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.44 inch moveto 3.84 inch 10.68 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.2 inch moveto 3.84 inch 10.2 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.959999999999999 inch moveto 3.84 inch 9.48 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.48 inch moveto 3.84 inch 9.48 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 8.76 inch moveto 3.84 inch 9.48 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 8.76 inch moveto 3.84 inch 8.76 inch lineto stroke grestore /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.0 inch 10.84 inch 1.6 inch 0.16 inch javabox 0.08 inch 10.84 inch moveto (java.lang.Object) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.6 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.6 inch moveto (CompositeName) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.36 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.36 inch moveto (CompoundName) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.12 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.12 inch moveto (InitialContext) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.879999999999999 inch moveto (NameClassPair) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 9.64 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 9.64 inch moveto (Binding) mtwshow /rounded false def /corner true def /dotted true def /dotcolor { 1 1 1 } def /maxtextwidth 97.92 def /boxbgcolor {1 1 1} def 0.24 inch 9.4 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.4 inch moveto (RefAddr) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 9.16 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 9.16 inch moveto (BinaryRefAddr) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 8.92 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 8.92 inch moveto (StringRefAddr) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 8.68 inch 1.6 inch 0.16 inch javabox 0.32 inch 8.68 inch moveto (Reference) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 8.44 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 8.44 inch moveto (LinkRef) mtwshow gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.68 inch lineto 0.24 inch 10.68 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.44 inch lineto 0.24 inch 10.44 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.2 inch lineto 0.24 inch 10.2 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.959999999999999 inch lineto 0.24 inch 9.959999999999999 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.48 inch lineto 0.24 inch 9.48 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 8.76 inch lineto 0.24 inch 8.76 inch lineto stroke grestore gsave 0.36 inch 9.879999999999999 inch moveto 0.36 inch 9.72 inch lineto 0.48 inch 9.72 inch lineto stroke grestore gsave 0.36 inch 9.4 inch moveto 0.36 inch 9.24 inch lineto 0.48 inch 9.24 inch lineto stroke grestore gsave 0.36 inch 9.4 inch moveto 0.36 inch 9.0 inch lineto 0.48 inch 9.0 inch lineto stroke grestore gsave 0.36 inch 8.68 inch moveto 0.36 inch 8.52 inch lineto 0.48 inch 8.52 inch lineto stroke grestore /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.6 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.6 inch moveto (Name) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.12 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.12 inch moveto (Context) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.4 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.4 inch moveto (java.io.Serializable) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.16 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.16 inch moveto (NamingEnumeration) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 8.92 inch 1.6 inch 0.16 inch javabox 3.92 inch 8.92 inch moveto (NameParser) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 8.68 inch 1.6 inch 0.16 inch javabox 3.92 inch 8.68 inch moveto (java.lang.Cloneable) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 8.44 inch 1.6 inch 0.16 inch javabox 3.92 inch 8.44 inch moveto (Referenceable) mtwshow grestore showpage pagerestore restore %%Trailer end %%EOF %%EndDocument FMENDEPSF 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.9/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "9" 13 %%Page: "10" 14 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (10) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (the) 108 712 T (bindings,) 126.24 712 T (removing) 174.16 712 T (a) 223.74 712 T (name-to-object) 232.65 712 T (binding,) 308.88 712 T (creating) 352.13 712 T (and) 394.36 712 T (destroying) 415.27 712 T (subcontexts) 469.52 712 T (of) 529.76 712 T (the) 543.34 712 T (same type,) 108 698 T 0 F (etc.) 162.32 698 T 4 10 Q (public interface Context {) 140.4 679.33 T 54 823/G3.997946 FmPA (public Object lookup\050Name name\051 throws NamingException;) 165.6 667.33 T 54 811/G3.997947 FmPA (public void bind\050Name name, Object obj\051 throws NamingException;) 165.6 655.33 T 54 799/G3.997948 FmPA (public void rebind\050Name name, Object obj\051 throws NamingException;) 165.6 643.33 T 54 787/G3.997949 FmPA (public void unbind\050Name name\051 throws NamingException;) 165.6 631.33 T 54 775/G3.997950 FmPA (public void rename\050Name old, Name new\051 throws NamingException;) 165.6 619.33 T 54 763/G3.997951 FmPA (public NamingEnumeration listBindings\050Name name\051) 165.6 607.33 T 54 751/G3.997952 FmPA (throws NamingException;) 190.8 595.33 T 54 739/G3.1001382 FmPA (...) 165.6 583.33 T 54 727/G3.997953 FmPA (public) 165.6 571.33 T (Context) 206.88 571.33 T (createSubcontext\050Name) 254.16 571.33 T (name\051) 385.44 571.33 T (throws) 420.72 571.33 T (NamingException;) 462 571.33 T 54 715/G3.997954 FmPA (public void destroySubcontext\050Name name\051 throws NamingException;) 165.6 559.33 T 54 703/G3.997955 FmPA (...) 165.6 547.33 T 54 691/G3.997956 FmPA (};) 140.4 535.33 T 54 679/G3.997957 FmPA 2 12 Q (Every) 108 516 T (naming) 139.71 516 T (method) 178.76 516 T (in) 217.8 516 T 4 10 Q (Context) 230.19 516 T 2 12 Q (takes) 275.24 516 T (a) 302.95 516 T (name) 311.33 516 T (as) 340.37 516 T (an) 353.41 516 T (argument.) 367.79 516 T (The) 419.17 516 T (operation) 440.88 516 T (defined) 489.25 516 T (by) 528.29 516 T (the) 543.34 516 T 54 660/G3.997959 FmPA (method) 108 502 T (is) 147.12 502 T (performed) 158.25 502 T (on) 211.35 502 T (the) 226.47 502 T 4 10 Q (Context) 244.25 502 T 2 12 Q (object) 289.37 502 T (that) 321.82 502 T (is) 342.94 502 T (obtained) 354.07 502 T (by) 398.52 502 T (implicitly) 413.64 502 T (resolving) 463.44 502 T (the) 511.22 502 T (name.) 529.01 502 T (If) 108 488 T (the) 118.72 488 T (name) 136.12 488 T (is) 164.84 488 T (empty) 175.58 488 T (\050\322\323\051) 208.31 488 T (the) 229.69 488 T (operation) 247.08 488 T (is) 295.14 488 T (performed) 305.87 488 T (directly) 358.58 488 T (on) 397.97 488 T (the) 412.7 488 T (context) 430.1 488 T (itself.) 468.16 488 T (The) 497.89 488 T (name) 519.28 488 T (of) 548 488 T (an) 108 474 T (object) 122.27 474 T (can) 154.54 474 T (be) 174.14 474 T (a) 188.41 474 T (composite) 196.68 474 T (name) 248.95 474 T (reflecting) 277.89 474 T (the) 326.82 474 T (arrangement) 344.42 474 T (of) 407.34 474 T (the) 420.28 474 T (namespaces) 437.89 474 T (used) 498.14 474 T (to) 523.08 474 T (refer) 535.36 474 T (to) 108 460 T (the) 119.63 460 T (object.) 136.59 460 T (Of) 171.21 460 T (course,) 186.17 460 T (the) 222.79 460 T (client) 239.75 460 T (is) 268.71 460 T (not) 279.01 460 T (exposed) 296.64 460 T (to) 338.26 460 T (any) 349.89 460 T (naming) 369.51 460 T (service) 407.81 460 T (implementation.) 444.09 460 T (In) 524.72 460 T (fact,) 537.01 460 T (a) 108 446 T (new) 116.44 446 T (type) 139.55 446 T (of) 163.33 446 T (naming) 176.44 446 T (service) 215.56 446 T (can) 252.66 446 T (be) 272.43 446 T (introduced) 286.88 446 T (without) 341.32 446 T (requiring) 381.1 446 T (the) 428.21 446 T (application) 445.99 446 T (to) 502.44 446 T (be) 514.89 446 T (modi-) 529.33 446 T (fied or even disrupted if it is running.) 108 432 T 3 F (5.1.2) 66 409 T (The Initial Context) 108 409 T 54 553/G3.999065 FmPA 2 F (In) 108 389 T (JNDI,) 120.69 389 T (every) 152.37 389 T (name) 181.71 389 T (is) 210.4 389 T (relative) 221.09 389 T (to) 259.77 389 T (a) 271.8 389 T (context.) 279.82 389 T (There) 320.84 389 T (is) 351.52 389 T (no) 362.21 389 T (notion) 376.9 389 T (of) 410.27 389 T (\322absolute) 422.95 389 T (names.\323) 470.97 389 T (An) 512.65 389 T (appli-) 530 389 T 54 533/G3.997960 FmPA (cation can bootstrap by obtaining its first context of class) 108 375 T 4 10 Q (InitialContext) 385.31 375 T 2 12 Q (:) 469.31 375 T 4 10 Q (public class InitialContext implements Context {) 140.4 356.33 T 54 500/G3.997961 FmPA (public InitialContext\050\051...;) 165.6 344.33 T 54 488/G3.997962 FmPA (...) 165.6 332.33 T 54 476/G3.997963 FmPA (}) 140.4 320.33 T 54 464/G3.997964 FmPA 2 12 Q (The) 108 301 T (initial) 130.12 301 T (context) 161.59 301 T (contains) 200.38 301 T (a) 243.84 301 T (variety) 252.63 301 T (of) 289.41 301 T (bindings) 302.87 301 T (that) 347.67 301 T (hook) 369.13 301 T (up) 396.59 301 T (the) 412.05 301 T (client) 430.18 301 T (to) 460.3 301 T (useful) 473.1 301 T (and) 505.89 301 T (shared) 526.68 301 T 54 445/G3.997965 FmPA (contexts) 108 287 T (from) 150.27 287 T (one) 175.88 287 T (or) 195.49 287 T (more) 207.76 287 T (naming) 234.7 287 T (systems,) 272.98 287 T (such) 316.26 287 T (as) 340.54 287 T (the) 352.81 287 T (namespace) 369.75 287 T (of) 424.68 287 T (URLs) 436.95 287 T (or) 467.9 287 T (the) 480.17 287 T (root) 497.11 287 T (of) 518.72 287 T (DNS.) 531 287 T 3 F (5.1.3) 66 264 T (Names) 108 264 T 54 408/G3.999071 FmPA 2 F (The) 108 244 T 4 10 Q (Name) 128.92 244 T 2 12 Q (interface) 155.18 244 T (represents) 199.42 244 T (a) 250.33 244 T (generic) 257.92 244 T (name\321an) 295.5 244 T (ordered) 347.08 244 T (sequence) 385.99 244 T (of) 432.23 244 T (components.) 444.49 244 T (Each) 507.75 244 T 4 10 Q (Con-) 534 244 T 54 388/G3.997966 FmPA (text) 108 230 T 2 12 Q (method) 134.87 230 T (that) 173.74 230 T (takes) 194.6 230 T (a) 222.13 230 T 4 10 Q (Name) 230.32 230 T 2 12 Q (argument) 257.19 230 T (has) 305.38 230 T (a) 324.25 230 T (counterpart) 332.44 230 T (that) 389.96 230 T (takes) 410.82 230 T (the) 438.35 230 T (name) 455.88 230 T (as) 484.74 230 T (a) 497.61 230 T 4 10 Q (String) 505.8 230 T 2 12 Q (in-) 544.67 230 T (stead.) 108 216 T (The) 140.31 216 T (versions) 163.61 216 T (using) 208.25 216 T 4 10 Q (Name) 238.9 216 T 2 12 Q (are) 267.55 216 T (useful) 286.85 216 T (for) 320.82 216 T (applications) 339.46 216 T (that) 402.1 216 T (need) 424.75 216 T (to) 452.05 216 T (manipulate) 466.03 216 T (names:) 524 216 T (composing) 108 202 T (them,) 163.98 202 T (comparing) 194.29 202 T (components,) 248.92 202 T (and) 313.23 202 T (so) 333.87 202 T (on.) 347.85 202 T (The) 366.15 202 T (versions) 388.12 202 T (using) 431.43 202 T 4 10 Q (String) 460.74 202 T 2 12 Q (are) 500.05 202 T (likely) 518.02 202 T (to) 548.66 202 T (be) 108 188 T (more) 122.72 188 T (useful) 150.78 188 T (for) 183.5 188 T (simple) 200.89 188 T (applications,) 236.29 188 T (such) 300.68 188 T (as) 326.07 188 T (those) 339.46 188 T (that) 368.19 188 T (simply) 389.58 188 T (read) 425.66 188 T (in) 449.7 188 T (a) 462.43 188 T (name) 471.16 188 T (and) 500.55 188 T (look) 521.27 188 T (up) 546 188 T (the) 108 174 T (corresponding) 125.23 174 T (object.) 196.44 174 T (The) 231.34 174 T 4 10 Q (String) 252.56 174 T 2 12 Q (name) 291.12 174 T (parameter) 319.68 174 T (represents) 370.22 174 T (a) 421.43 174 T (composite) 429.32 174 T (name.) 481.22 174 T (The) 512.78 174 T 4 10 Q (Name) 534 174 T 2 12 Q (parameter can represent a) 108 160 T 0 F (composite name) 233.94 160 T 2 F ( or a) 311.59 160 T 0 F (compound name) 335.92 160 T 2 F (.) 414.9 160 T (The) 108 140 T 4 10 Q (CompositeName) 129.78 140 T 2 12 Q (class) 210.9 140 T (represents) 237.34 140 T (a) 289.11 140 T (sequence) 297.55 140 T (of) 344.65 140 T (names) 357.77 140 T (\050atomic) 391.54 140 T (or) 431.32 140 T (compound\051) 444.44 140 T (from) 502.21 140 T (multi-) 528.66 140 T 54 284/G3.1002230 FmPA (ple) 108 126 T (namespaces.) 126.35 126 T (If) 197.73 126 T (the) 209.41 126 T 4 10 Q (Name) 227.77 126 T 2 12 Q (parameter) 255.46 126 T (supplied) 307.12 126 T (to) 351.48 126 T (a) 364.51 126 T (method) 373.52 126 T (of) 413.21 126 T (the) 426.9 126 T 4 10 Q (Context) 445.25 126 T 2 12 Q (class) 490.94 126 T (is) 517.96 126 T (an) 529.65 126 T (in-) 544.67 126 T (stance of) 108 112 T 4 10 Q (CompositeName) 153.98 112 T 2 12 Q (, the name represents a composite name.) 231.98 112 T (If) 108 92 T (the) 118.82 92 T 4 10 Q (Name) 136.31 92 T 2 12 Q (parameter) 163.14 92 T (supplied) 213.94 92 T (to) 257.43 92 T (a) 269.6 92 T (method) 277.75 92 T (of) 316.58 92 T (the) 329.4 92 T 4 10 Q (Context) 346.89 92 T 2 12 Q (class) 391.72 92 T (is) 417.88 92 T 0 F (not) 428.71 92 T 2 F (an) 446.87 92 T (instance) 461.03 92 T (of) 503.18 92 T 4 10 Q (Compos-) 516 92 T 54 236/G3.1002231 FmPA (iteName) 108 78 T 2 12 Q (,) 150 78 T (the) 155.88 78 T (name) 173.42 78 T (represents) 202.29 78 T (a) 253.82 78 T (compound) 262.03 78 T (name,) 315.57 78 T (which) 347.44 78 T (can) 379.65 78 T (be) 399.18 78 T (represented) 413.39 78 T (by) 471.58 78 T (the) 486.46 78 T 4 10 Q (Compound-) 504 78 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.10/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "10" 14 %%Page: "11" 15 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (11) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (Name) 108 712 T 2 12 Q (class) 139.84 712 T (or) 171.01 712 T (some) 188.84 712 T (other) 222.01 712 T (implementation) 254.51 712 T (class.) 337.68 712 T (The) 371.85 712 T 4 10 Q (CompoundName) 398.35 712 T 2 12 Q (class) 478.19 712 T (represents) 509.35 712 T (hierarchical) 108 698 T (names) 167.67 698 T (from) 201.37 698 T (a) 227.73 698 T (single) 236.09 698 T (namespace.) 267.79 698 T (A) 326.46 698 T (context\325s) 338.16 698 T (name) 385.18 698 T (parser) 414.21 698 T (can) 446.56 698 T (be) 466.25 698 T (used) 480.61 698 T (to) 505.64 698 T (manipu-) 518 698 T (late compound names in the syntax associated with that particular context:) 108 684 T 4 10 Q (public interface Context {) 140.4 665.33 T 54 809/G3.997969 FmPA (...) 165.6 653.33 T 54 797/G3.997970 FmPA (public) 165.6 641.33 T (NameParser) 206.88 641.33 T (getNameParser\050Name) 272.16 641.33 T (name\051) 385.44 641.33 T (throws) 420.72 641.33 T (NamingException;) 462 641.33 T 54 785/G3.997971 FmPA (...) 165.6 629.33 T 54 773/G3.997972 FmPA (}) 140.4 617.33 T 54 761/G3.997973 FmPA 2 12 Q (A) 108 598 T (namespace) 119.96 598 T (browser) 175.9 598 T (is) 217.84 598 T (an) 229.14 598 T (example) 243.76 598 T (of) 287.71 598 T (the) 301 598 T (kind) 318.96 598 T (of) 343.59 598 T (application) 356.88 598 T (that) 413.5 598 T (might) 434.79 598 T (need) 466.09 598 T (to) 492.04 598 T (manipulate) 504.67 598 T 54 742/G3.997974 FmPA (names) 108 584 T (syntactically) 141.97 584 T (at) 205.94 584 T (this) 217.91 584 T (level.) 238.56 584 T (Most) 268.2 584 T (other) 296.18 584 T (applications) 324.15 584 T (will) 385.45 584 T (work) 407.43 584 T (with) 435.4 584 T (strings) 460.05 584 T (or) 495.36 584 T (composite) 508.67 584 T (names.) 108 570 T 3 F (5.1.4) 66 547 T (Bindings) 108 547 T 54 691/G3.997976 FmPA 4 10 Q (Context.lookup\050\051) 108 527 T 2 12 Q (is) 206.46 527 T (the) 216.92 527 T (most) 234.04 527 T (commonly) 259.84 527 T (used) 313.63 527 T (operation.) 338.09 527 T (The) 388.87 527 T (context) 409.99 527 T (implementation) 447.77 527 T (can) 525.57 527 T (re-) 544.68 527 T 54 671/G3.997977 FmPA (turn) 108 513 T (an) 129.84 513 T (object) 143.67 513 T (of) 175.5 513 T (whatever) 188 513 T (class) 234.49 513 T (is) 260.32 513 T (required) 270.83 513 T (by) 313.32 513 T (the) 327.83 513 T (Java) 344.99 513 T (application.) 368.82 513 T (For) 427.66 513 T (example,) 446.83 513 T (a) 492.99 513 T (client) 500.82 513 T (might) 529.99 513 T (use) 108 499 T (the) 127.09 499 T (name) 144.85 499 T (of) 173.94 499 T (a) 187.03 499 T (printer) 195.45 499 T (to) 230.54 499 T (look) 242.97 499 T (up) 267.4 499 T (the) 282.5 499 T (corresponding) 300.26 499 T 4 10 Q (Printer) 372 499 T 2 12 Q (object,) 417.1 499 T (and) 452.52 499 T (then) 472.95 499 T (print) 496.7 499 T (to) 522.47 499 T (it) 534.9 499 T (di-) 544.67 499 T (rectly:) 108 485 T 4 10 Q (Printer printer = \050Printer\051 ctx.lookup\050\322treekiller\323\051;) 140.4 466.33 T 54 610/G3.997978 FmPA (printer.print\050report\051;) 140.4 454.33 T 54 598/G3.997979 FmPA (Context.listBindings\050\051) 108 435 T 2 12 Q (returns) 243.46 435 T (an) 280.25 435 T (enumeration) 295.05 435 T (of) 358.5 435 T (name-to-object) 371.96 435 T (bindings,) 448.07 435 T (each) 495.88 435 T (binding) 521.33 435 T 54 579/G3.997980 FmPA (represented) 108 421 T (by) 166.92 421 T (an) 182.54 421 T (object) 197.48 421 T (of) 230.42 421 T (class) 244.03 421 T 4 10 Q (Binding) 270.98 421 T 2 12 Q (.) 312.98 421 T (A) 326.82 421 T (binding) 339.1 421 T (is) 379.39 421 T (a) 391 421 T (tuple) 399.95 421 T (containing) 427.56 421 T (the) 481.84 421 T (name) 500.12 421 T (of) 529.72 421 T (the) 543.34 421 T (bound object, the name of the object\325s class, and the object itself.) 108 407 T (The) 108 387 T 4 10 Q (Context.list\050\051) 129.41 387 T 2 12 Q (method) 216.17 387 T (is) 254.92 387 T (similar) 265.68 387 T (to) 301.77 387 T 4 10 Q (listBindings\050\051) 313.85 387 T 2 12 Q (,) 397.85 387 T (except) 403.61 387 T (that) 437.68 387 T (it) 458.43 387 T (returns) 467.86 387 T (an) 503.93 387 T (enumer-) 518.02 387 T 54 531/G3.997981 FmPA (ation) 108 373 T (of) 136.7 373 T 4 10 Q (NameClassPair) 151.4 373 T 2 12 Q (objects.) 234.1 373 T (Each) 275.8 373 T 4 10 Q (NameClassPair) 304.49 373 T 2 12 Q (contains) 387.19 373 T (an) 431.89 373 T (object\325s) 447.92 373 T (name) 490.61 373 T (and) 521.31 373 T (the) 543.34 373 T (name) 108 359 T (of) 136.45 359 T (the) 148.9 359 T (object\325s) 166.02 359 T (class.) 206.46 359 T (The) 240.16 359 T 4 10 Q (list\050\051) 261.27 359 T 2 12 Q (method) 299.73 359 T (is) 338.18 359 T (useful) 348.64 359 T (for) 380.42 359 T (applications) 396.87 359 T (such) 457.32 359 T (as) 481.77 359 T (browsers) 494.23 359 T (that) 540 359 T (wish) 108 345 T (to) 133.23 345 T (discover) 145.13 345 T (information) 188.35 345 T (about) 247.58 345 T (the) 276.81 345 T (objects) 294.04 345 T (bound) 330.6 345 T (within) 363.17 345 T (a) 396.4 345 T (context,) 404.3 345 T (but) 445.19 345 T (don\325t) 463.09 345 T (need) 490.99 345 T (all) 516.21 345 T (of) 530.78 345 T (the) 543.34 345 T (actual) 108 331 T (objects.) 140.04 331 T (Although) 187.18 331 T 4 10 Q (listBindings\050\051) 235.9 331 T 2 12 Q (provides) 323.29 331 T (all) 368 331 T (of) 383.38 331 T (the) 396.76 331 T (same) 414.81 331 T (information,) 442.85 331 T (it) 505.9 331 T (is) 515.95 331 T (poten-) 527.34 331 T (tially a much more expensive operation.) 108 317 T 4 10 Q (public class NameClassPair ... {) 140.4 298.33 T 54 442/G3.997983 FmPA (public String getName\050\051 ...;) 165.6 286.33 T 54 430/G3.997984 FmPA (public String getClassName\050\051 ...;) 165.6 274.33 T 54 418/G3.997985 FmPA (...) 165.6 262.33 T 54 406/G3.997986 FmPA (}) 140.4 250.33 T 54 394/G3.997987 FmPA 54 382/G3.997988 FmPA (public class Binding extends NameClassPair {) 140.4 226.33 T 54 370/G3.997989 FmPA (public Object getObject\050\051 ...;) 165.6 214.33 T 54 358/G3.997990 FmPA (...) 165.6 202.33 T 54 346/G3.997991 FmPA (}) 140.4 190.33 T 54 334/G3.997992 FmPA 3 12 Q (5.1.5) 66 168 T (References) 108 168 T 54 312/G3.997994 FmPA 2 F (Different) 108 148 T 4 10 Q (Context) 154.88 148 T 2 12 Q (implementations) 199.79 148 T (are) 282.69 148 T (able) 300.25 148 T (to) 323.14 148 T (bind) 335.38 148 T (different) 359.62 148 T (kinds) 403.84 148 T (of) 432.75 148 T (objects) 445.65 148 T (natively.) 482.55 148 T (A) 527.11 148 T (par-) 538.68 148 T 54 292/G3.997995 FmPA (ticularly) 108 134 T (useful) 150.3 134 T (object) 181.94 134 T (that) 213.58 134 T (should) 233.88 134 T (be) 268.2 134 T (supported) 281.83 134 T (by) 331.47 134 T (any) 345.78 134 T (general-purpose) 365.42 134 T (context) 445.03 134 T (implementation) 482.66 134 T (is) 108 120 T (the) 119.82 120 T 4 10 Q (Reference) 138.3 120 T 2 12 Q (class.) 196.12 120 T (A) 226.26 120 T (reference) 238.74 120 T (represents) 287.18 120 T (an) 339.65 120 T (object) 354.79 120 T (that) 387.94 120 T (exists) 409.75 120 T (outside) 440.9 120 T (of) 479.39 120 T (the) 493.2 120 T (directory.) 511.68 120 T (References) 108 106 T (are) 164.69 106 T (used) 182.73 106 T (to) 208.11 106 T (give) 220.83 106 T (JNDI) 244.88 106 T (clients) 274.25 106 T (the) 308.97 106 T (illusion) 327.02 106 T (that) 366.42 106 T (objects) 387.8 106 T (of) 425.18 106 T (arbitrary) 438.56 106 T (classes) 483.26 106 T (are) 519.97 106 T (able) 538.01 106 T (to) 108 92 T (be) 120.41 92 T (bound) 134.82 92 T (in) 167.89 92 T (naming) 180.3 92 T (or) 219.38 92 T (directory) 232.45 92 T (services\321such) 278.84 92 T (as) 354.57 92 T (X.500\321that) 367.64 92 T (do) 430.38 92 T (not) 445.45 92 T (have) 463.86 92 T (native) 489.6 92 T (support) 522 92 T (for objects in the Java programming language.) 108 78 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.11/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "11" 15 %%Page: "12" 16 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (12) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (When) 108 712 T (the) 140.66 712 T (result) 159.33 712 T (of) 190 712 T (an) 204 712 T (operation) 219.33 712 T (such) 268.66 712 T (as) 294.66 712 T 4 10 Q (Context.lookup\050\051) 308.66 712 T 2 12 Q (or) 408.66 712 T 4 10 Q (Binding.getObject\050\051) 422.66 712 T 2 12 Q (is) 540.66 712 T (a) 552.67 712 T 54 856/G3.1002259 FmPA 4 10 Q (Reference) 108 698 T 2 12 Q (object,) 164.93 698 T (JNDI) 200.2 698 T (attempts) 229.12 698 T (to) 272.73 698 T (convert) 285 698 T (the) 323.92 698 T (reference) 341.52 698 T (into) 389.08 698 T (the) 410.69 698 T (object) 428.29 698 T (that) 460.55 698 T (it) 481.49 698 T (represents) 491.09 698 T (be-) 542.68 698 T (fore) 108 684 T (returning) 129.84 684 T (it) 176.35 684 T (to) 185.54 684 T (the) 197.39 684 T (client.) 214.58 684 T (A) 246.76 684 T (particularly) 257.94 684 T (significant) 315.78 684 T (instance) 368.96 684 T (of) 410.8 684 T (this) 423.32 684 T (occurs) 443.18 684 T (when) 477.02 684 T (a) 505.53 684 T (reference) 513.37 684 T (representing) 108 670 T (a) 169.8 670 T 4 10 Q (Context) 177.61 670 T 2 12 Q (of) 222.09 670 T (one) 234.57 670 T (naming) 254.38 670 T (system) 292.86 670 T (is) 328.68 670 T (bound) 339.17 670 T (to) 371.65 670 T (a) 383.47 670 T (name) 391.28 670 T (in) 419.75 670 T (a) 431.57 670 T (different) 439.38 670 T (naming) 483.18 670 T (system.) 521.66 670 T (This) 108 656 T (is) 132.01 656 T (how) 142.68 656 T (multiple) 166.01 656 T (independent) 208.69 656 T (naming) 270.01 656 T (systems) 308.68 656 T (are) 349.35 656 T (joined) 366.67 656 T (together) 399.34 656 T (into) 441.33 656 T (the) 462.67 656 T (JNDI) 480.01 656 T (composite) 508.67 656 T (namespace. Details of how this mechanism operates are provided in the) 108 642 T 3 F (JNDI SPI) 454.6 642 T 2 F ( document.) 504.26 642 T (Objects) 108 622 T (that) 148.26 622 T (are) 169.85 622 T (able) 188.1 622 T (to) 211.69 622 T (be) 224.63 622 T (represented) 239.55 622 T (by) 298.46 622 T (a) 314.05 622 T (reference) 322.98 622 T (should) 371.2 622 T (implement) 406.8 622 T (the) 461.74 622 T 4 10 Q (Referenceable) 480 622 T 54 766/G3.1002260 FmPA 2 12 Q (interface.) 108 608 T (Its) 155.98 608 T (single) 170.99 608 T (method) 202.67 608 T (\321) 241.68 608 T 4 10 Q (getReference\050\051) 256.68 608 T 2 12 Q (\321) 343.69 608 T (returns) 358.7 608 T (the) 395.03 608 T (object\325s) 412.7 608 T (reference.) 453.7 608 T (When) 504.34 608 T (such) 536 608 T (an) 108 594 T (object) 122.31 594 T (is) 154.62 594 T (bound) 165.61 594 T (to) 198.59 594 T (a) 210.91 594 T (name) 219.22 594 T (in) 248.2 594 T (any) 260.51 594 T (context,) 280.83 594 T (the) 322.14 594 T (context) 339.78 594 T (implementation) 378.09 594 T (might) 456.41 594 T (store) 487.4 594 T (the) 513.71 594 T (refer-) 531.36 594 T (ence in the underlying system if the object itself cannot be stored natively.) 108 580 T (Each) 108 560 T (reference) 134.88 560 T (may) 182.39 560 T (contain) 205.95 560 T (the) 244.16 560 T (name) 261.72 560 T (of) 290.6 560 T (the) 303.48 560 T (class) 321.04 560 T (of) 347.25 560 T (the) 360.14 560 T (object) 377.69 560 T (that) 409.91 560 T (it) 430.8 560 T (represents,) 440.36 560 T (and) 494.9 560 T (may) 515.11 560 T (also) 538.67 560 T 54 704/G3.997998 FmPA (contain) 108 546 T (the) 146.12 546 T (location) 163.58 546 T (\050typically) 205.04 546 T (a) 253.83 546 T (URL\051) 261.95 546 T (where) 292.74 546 T (the) 324.86 546 T (class) 342.31 546 T (file) 368.44 546 T (for) 387.23 546 T (that) 404.01 546 T (object) 424.81 546 T (can) 456.93 546 T (be) 476.38 546 T (found.) 490.51 546 T (In) 529.89 546 T (ad-) 542.68 546 T (dition,) 108 532 T (a) 141.77 532 T (reference) 149.86 532 T (contains) 197.25 532 T (a) 240.01 532 T (sequence) 248.1 532 T (of) 294.84 532 T (objects) 307.6 532 T (of) 344.36 532 T (class) 357.12 532 T 4 10 Q (RefAddr) 383.21 532 T 2 12 Q (.) 425.21 532 T (Each) 430.97 532 T 4 10 Q (RefAddr) 457.72 532 T 2 12 Q (in) 502.48 532 T (turn) 514.58 532 T (con-) 536.68 532 T (tains a \322type\323 string and some addressing data, generally a string or a byte array.) 108 518 T (A) 108 498 T (specialization) 119.42 498 T (of) 188.17 498 T 4 10 Q (Reference) 200.92 498 T 2 12 Q (called) 257.68 498 T (a) 289.1 498 T 4 10 Q (LinkRef) 297.18 498 T 2 12 Q (is) 341.94 498 T (used) 352.7 498 T (to) 377.46 498 T (add) 389.55 498 T (\322symbolic\323) 409.64 498 T (links) 467.06 498 T (into) 493.15 498 T (the) 514.59 498 T (JNDI) 532.01 498 T 54 642/G3.997999 FmPA (namespace.) 108 484 T (It) 166.78 484 T (contains) 177.26 484 T (the) 220.39 484 T (name) 238.2 484 T (of) 267.33 484 T (a) 280.46 484 T (JNDI) 288.93 484 T (object.) 318.06 484 T (By) 353.53 484 T (default,) 370.68 484 T (these) 410.14 484 T (links) 437.94 484 T (are) 464.42 484 T (followed) 482.21 484 T (when-) 528.01 484 T (ever JNDI names are resolved.) 108 470 T 3 F (5.1.6) 66 447 T (Referrals) 108 447 T 54 591/G3.998933 FmPA 2 F (Some) 108 427 T (naming/directory) 139.34 427 T (services) 226 427 T (support) 268.66 427 T (the) 308.67 427 T (notion) 327.34 427 T (of) 362.02 427 T 0 F (referrals) 376.02 427 T 2 F (for) 422.02 427 T (redirecting) 440.02 427 T (a) 496.01 427 T (client\325s) 505.35 427 T (re-) 544.68 427 T 54 571/G3.998934 FmPA (quest) 108 413 T (to) 136.73 413 T (another) 149.46 413 T (server.) 188.84 413 T (The) 224.54 413 T (JNDI) 246.6 413 T (client) 275.98 413 T (can) 306.04 413 T (request) 326.09 413 T (that) 364.14 413 T (referrals) 385.53 413 T (be) 428.9 413 T (automatically) 443.62 413 T (followed,) 512.34 413 T (be ignored, or be processed manually.) 108 399 T (The abstract class) 108 379 T 4 10 Q (ReferralException) 196.31 379 T 2 12 Q ( is used to represent a referral:) 298.31 379 T 54 523/G3.998935 FmPA 4 10 Q (public abstract class ReferralException extends NamingException {) 140.4 360.33 T 54 504/G3.998936 FmPA (public abstract Context getReferralContext\050\051) 165.6 348.33 T 54 492/G3.998937 FmPA (throws NamingException;) 190.8 336.33 T 54 480/G3.998938 FmPA (...) 165.6 324.33 T 54 468/G3.998941 FmPA (public abstract Object getReferralInfo\050\051;) 165.6 312.33 T 54 456/G3.998942 FmPA (public abstract void retryReferral\050\051;) 165.6 300.33 T 54 444/G3.998943 FmPA (public abstract boolean skipReferral\050\051;) 165.6 288.33 T 54 432/G3.998944 FmPA (}) 140.4 276.33 T 54 420/G3.998945 FmPA 2 12 Q (When) 108 257 T (a) 139.58 257 T (referral) 147.84 257 T (is) 186.07 257 T (encountered) 196.99 257 T (and) 258.57 257 T (the) 278.82 257 T (client) 296.41 257 T (has) 326 257 T (requested) 344.92 257 T (that) 393.83 257 T (referrals) 414.76 257 T (not) 457.65 257 T (be) 475.91 257 T (ignored) 490.17 257 T (or) 529.75 257 T (au-) 542.68 257 T 54 401/G3.998946 FmPA (tomatically) 108 243 T (followed,) 164.37 243 T (a) 212.41 243 T 4 10 Q (ReferralException) 220.11 243 T 2 12 Q (is) 324.48 243 T (thrown.) 334.86 243 T (The) 374.23 243 T 4 10 Q (getReferralInfo\050\051) 395.26 243 T 2 12 Q (method) 499.63 243 T (pro-) 538.01 243 T (vides) 108 229 T (information\321in) 136.8 229 T (a) 218.26 229 T (format) 227.05 229 T (appropriate) 262.51 229 T (to) 320.62 229 T (the) 333.42 229 T (service) 351.55 229 T (provider\321about) 389 229 T (where) 471.79 229 T (the) 504.57 229 T (referral) 522.7 229 T (leads.) 108 215 T (The) 138.38 215 T (application) 159.75 215 T (is) 215.8 215 T (not) 226.52 215 T (required) 244.57 215 T (to) 287.27 215 T (examine) 299.33 215 T (this) 342.7 215 T (information;) 362.76 215 T (however,) 425.48 215 T (it) 472.51 215 T (might) 481.9 215 T (choose) 512.62 215 T (to) 548.66 215 T (present) 108 201 T (it) 145.31 201 T (to) 154.63 201 T (a) 166.62 201 T (human) 174.6 201 T (user) 209.91 201 T (to) 232.56 201 T (help) 244.54 201 T (him) 267.86 201 T (determine) 289.18 201 T (whether) 339.82 201 T (to) 381.12 201 T (follow) 393.11 201 T (the) 427.09 201 T (referral) 444.41 201 T (or) 482.36 201 T (not.) 495.01 201 T 4 10 Q (skipRe-) 516 201 T (ferral\050\051) 108 187 T 2 12 Q (allows) 158.92 187 T (the) 193.17 187 T (application) 210.75 187 T (to) 267 187 T (discard) 279.25 187 T (a) 316.83 187 T (referral) 325.07 187 T (and) 363.3 187 T (continue) 383.54 187 T (to) 427.79 187 T (the) 440.04 187 T (next) 457.62 187 T (referral) 481.21 187 T (\050if) 519.43 187 T (any\051.) 533.68 187 T (To) 108 167 T (continue) 124.39 167 T (the) 168.77 167 T (operation,) 186.5 167 T (the) 237.88 167 T (application) 255.6 167 T (re-invokes) 311.98 167 T (the) 365.69 167 T (method) 383.41 167 T (on) 422.47 167 T (the) 437.53 167 T (referral) 455.25 167 T (context) 493.61 167 T (using) 531.99 167 T 54 311/G3.998947 FmPA (the same arguments it supplied to the original method.) 108 153 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.12/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "12" 16 %%Page: "13" 17 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (13) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (5.2) 72.5 706.93 T (The Directory Package \321 ja) 108 706.93 T (v) 277.95 706.93 T (ax.naming) 284.81 706.93 T (.dir) 347.22 706.93 T (ectory) 368.36 706.93 T 3 11.2 Q (1) 405.67 712.53 T 54 851/G3.998973 FmPA 54 832/G3.998009 FmPA 3 12 Q (5.2.1) 66 458 T (Directory Objects) 108 458 T 54 602/G3.998010 FmPA 2 F (The) 108 438 T 4 10 Q (DirContext) 132.61 438 T 2 12 Q (interface) 195.09 438 T (enables) 239.54 438 T (the) 278.01 438 T (directory) 295.16 438 T (capability) 340.95 438 T (by) 390.76 438 T (defining) 405.24 438 T (methods) 447.72 438 T (for) 490.86 438 T (examining) 507.33 438 T 54 582/G3.998011 FmPA (and updating attributes associated with a directory object.) 108 424 T 4 10 Q (public interface DirContext extends Context {) 140.4 405.33 T 54 549/G3.999014 FmPA (public Attributes getAttributes\050Name name\051) 165.6 393.33 T 54 537/G3.999018 FmPA (throws NamingException;) 216 381.33 T 54 525/G3.999019 FmPA (public Attributes getAttributes\050Name name, String[] attrIds\051) 165.6 369.33 T 54 513/G3.999021 FmPA (throws NamingException;) 216 357.33 T 54 501/G3.999022 FmPA (...) 165.6 345.33 T 54 489/G3.999023 FmPA (public void modifyAttributes\050Name name,) 165.6 333.33 T 54 477/G3.999024 FmPA (int modOp,) 342 321.33 T 54 465/G3.999025 FmPA (Attributes attrs\051) 342 309.33 T 54 453/G3.999026 FmPA (throws NamingException;) 216 297.33 T 54 441/G3.999027 FmPA (public void modifyAttributes\050Name name,) 165.6 285.33 T 54 429/G3.999029 FmPA (ModificationItem[] mods\051) 342 273.33 T 54 417/G3.999030 FmPA (throws NamingException;) 216 261.33 T 54 405/G3.999031 FmPA (...) 165.6 249.33 T 54 393/G3.999032 FmPA (}) 140.4 237.33 T 54 381/G3.999033 FmPA 2 12 Q (The) 108 218 T 4 10 Q (getAttributes\050\051) 129.56 218 T 2 12 Q (operations) 222.46 218 T (on) 275.36 218 T (a) 290.26 218 T (directory) 298.49 218 T (return) 344.71 218 T (some) 376.26 218 T (or) 404.5 218 T (all) 417.39 218 T (of) 432.3 218 T (its) 445.19 218 T (attributes.) 459.43 218 T (Attributes) 510 218 T 54 362/G3.998039 FmPA (are) 108 204 T (modified) 125.61 204 T (using) 171.89 204 T (two) 200.85 204 T (forms) 221.8 204 T (of) 252.75 204 T 4 10 Q (modifyAttributes\050\051) 265.7 204 T 2 12 Q (.) 373.7 204 T (Both) 379.65 204 T (forms) 405.94 204 T (make) 436.89 204 T (use) 465.84 204 T (of) 484.79 204 T (a) 497.73 204 T (\322modifica-) 506.02 204 T (tion operation,\323 one of:) 108 190 T 4 10 Q (ADD_ATTRIBUTE) 140.4 171.33 T 54 315/G3.998040 FmPA (REPLACE_ATTRIBUTE) 140.4 159.33 T 54 303/G3.998041 FmPA (REMOVE_ATTRIBUTE) 140.4 147.33 T 54 291/G3.998042 FmPA 2 12 Q (The) 108 128 T 4 10 Q (ADD_ATTRIBUTE) 129.51 128 T 2 12 Q (operation) 210.36 128 T (adds) 258.54 128 T (values) 283.38 128 T (to) 316.89 128 T (an) 329.08 128 T (attribute) 343.26 128 T (if) 386.1 128 T (that) 396.29 128 T (attribute) 417.14 128 T (already) 459.98 128 T (exists,) 498.15 128 T (while) 531.34 128 T 54 272/G3.998043 FmPA (the) 108 114 T 4 10 Q (REPLACE_ATTRIBUTE) 125.12 114 T 2 12 Q (operation) 229.58 114 T (discards) 277.37 114 T (any) 319.15 114 T (pre-existing) 338.94 114 T (values.) 398.72 114 T (The) 434.84 114 T (first) 455.96 114 T (form) 477.76 114 T (of) 503.54 114 T 4 10 Q (modify-) 516 114 T 54 84 558 98.98 C 0 0 0 1 0 0 0 1 K 54 84 558 98.98 R 7 X V 63 96.96 207 96.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 77.33 T (See Appendix C for le) 84 77.33 T (gend of class diagram.) 173.28 77.33 T 54 221/G3.999039 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 90 477 558 684.27 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (\050e) 396.99 488.44 T (xception classes are not sho) 404.61 488.44 T (wn\051) 515.45 488.44 T 0 30.24 580.76 453 761.76 422.76 181 113.45 502.35 FMBEGINEPSF %%BeginDocument: /home/jenball/ws/myjndi/spec/javax.naming.directory-0.eps %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSans-Typewriter %%DocumentNeededFonts: LucidaSans-Typewriter %%BoundingBox: 30.24 580.76 453 761.76 %%EndComments /fontsize 6.00 def /boxdict 100 dict def boxdict begin /inch { 72 mul } def % % Primary input variables. If you change the default font, make sure % to update the comments above too. % /defaultfont /LucidaSans-Typewriter def /defaultscale fontsize def % % This variable is the approximate amount that the `center' of the text % line is above the baseline, as a fraction of the total height of % the font. % /centerabovebaseline 0 def /realtextheight 0 def /setcenterabovebaseline { gsave 0 0 moveto (\() false charpath pathbbox exch pop exch neg exch 2 index add /realtextheight exch def realtextheight div /centerabovebaseline exch def pop grestore } def /pagebegin { /pagerestore save def defaultfont findfont defaultscale scalefont setfont setcenterabovebaseline .5 inch -.5 inch translate } def /descender { /lly 0.0 def /ury 0.0 def { ( ) dup 0 4 -1 roll put charheight pop dup lly lt { /lly exch def } { pop } ifelse } forall lly } def % % This show operator takes a width and scales the text to fit the width. % It can scale height and width identically (aspect=1), or just scale % width (aspect=0), or scale width twice as much as height (aspect=0.5). % Set aspect to your taste. /mtwshow means max-text-width-show. A % more functional solution would take the maxtextwidth as a parameter % rather than using a global, but this has more impact on the existing % code so I don't do that. % /aspect 0.5 def /mtwshow { gsave 0 h 2 div centerabovebaseline 0.5 sub realtextheight mul add rmoveto currentpoint translate dup stringwidth pop dup javamaxtextwidth gt { 0 centerabovebaseline translate javamaxtextwidth exch div dup aspect mul 1 aspect sub add scale 0 centerabovebaseline neg translate } { pop } ifelse 0 0 moveto show grestore } def % % This macro gives us a rectangular path, just like rectstroke except it does not stroke. % Assumes origin is lower left hand corner, so only two args are passed. % /rectpath { /h exch def /w exch def newpath 0 0 moveto w 0 rlineto 0 h rlineto w neg 0 rlineto closepath } def % % This macro works like rectpath except it draws rounded corners. The radius of % the rounded corners must be set in the global variable /roundrectradius. % /roundrectradius 0 def /roundrectpath { /h exch def /w exch def newpath w 2 div 0 moveto w 0 w h roundrectradius arct w h w 2 div h roundrectradius arct 0 h 0 0 roundrectradius arct 0 0 w 2 div 0 roundrectradius arct closepath } def % % This macro takes a width and a height and draws either a roundrectpath or a rectpath % depending on the setting of the /rounded macro. It also sets the roundrectradius % to half the height before doing this, as appropriate for the smaller boxes. % /rounded false def % by default, square boxes. /javarect { /h exch def /w exch def /roundrectradius h 2 div def w h rounded { roundrectpath } { rectpath } ifelse } def % % Draw a shadowed box/rounded box. This is the four-argument macro that takes a x, y, % width, and height. % /shadowed true def /corner false def /shadowxoff 2 def /shadowyoff -2 def /shadowcolor { 0.6 0.6 0.6 } def /boxbgcolor { 1 1 1 } def /dotted false def /dotcolor { 0 0 0 } def /black { 0 0 0 } def /javabox { /h exch def /w exch def gsave translate shadowed { gsave shadowxoff shadowyoff translate shadowcolor setrgbcolor w h javarect gsave stroke grestore fill grestore } if w h javarect gsave boxbgcolor setrgbcolor fill grestore stroke % % Always draw the dot centered at position (w-h/2, h/2) with a size of 0.6 of the height. % /javamaxtextwidth maxtextwidth def dotted { gsave /r 0.4 h mul 2 div def w h 2 div sub h 2 div r 0 360 arc gsave dotcolor setrgbcolor fill grestore stroke grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if corner { gsave w h 3 div sub 0 moveto w h 3 div lineto w 0 lineto w h 3 div sub 0 lineto gsave stroke grestore black setrgbcolor fill grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if grestore } def end % %%EndProlog %%BeginSetup boxdict begin %%EndSetup %%Page: 1 1 pagebegin 1 setlinecap 1 setlinejoin % currentlinewidth 0.1 mul setlinewidth .3 setlinewidth gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.68 inch moveto 3.84 inch 10.68 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.44 inch moveto 3.84 inch 10.44 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.2 inch moveto 3.84 inch 9.72 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.959999999999999 inch moveto 3.84 inch 9.72 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.72 inch moveto 3.84 inch 9.24 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 2.16 inch 9.48 inch moveto 3.84 inch 9.48 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.24 inch moveto 3.84 inch 9.72 inch lineto stroke grestore /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.0 inch 10.84 inch 1.6 inch 0.16 inch javabox 0.08 inch 10.84 inch moveto (java.lang.Object) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.6 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.6 inch moveto (BasicAttribute) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.36 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.36 inch moveto (BasicAttributes) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.12 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.12 inch moveto (ModificationItem) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.879999999999999 inch moveto (SearchControls) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 9.64 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.64 inch moveto (javax.naming.InitialContext) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 9.4 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 9.4 inch moveto (InitialDirContext) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 9.16 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.16 inch moveto (javax.naming.NameClassPair) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 8.92 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 8.92 inch moveto (javax.naming.Binding) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.72 inch 8.68 inch 1.6 inch 0.16 inch javabox 0.7999999999999999 inch 8.68 inch moveto (SearchResult) mtwshow gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.68 inch lineto 0.24 inch 10.68 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.44 inch lineto 0.24 inch 10.44 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.2 inch lineto 0.24 inch 10.2 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.959999999999999 inch lineto 0.24 inch 9.959999999999999 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.72 inch lineto 0.24 inch 9.72 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.24 inch lineto 0.24 inch 9.24 inch lineto stroke grestore gsave 0.36 inch 9.64 inch moveto 0.36 inch 9.48 inch lineto 0.48 inch 9.48 inch lineto stroke grestore gsave 0.36 inch 9.16 inch moveto 0.36 inch 9.0 inch lineto 0.48 inch 9.0 inch lineto stroke grestore gsave 0.6 inch 8.92 inch moveto 0.6 inch 8.76 inch lineto 0.72 inch 8.76 inch lineto stroke grestore /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.6 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.6 inch moveto (Attribute) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.36 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.36 inch moveto (Attributes) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.64 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.64 inch moveto (java.io.Serializable) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.4 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.4 inch moveto (DirContext) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.16 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.16 inch moveto (javax.naming.Context) mtwshow grestore showpage pagerestore restore %%Trailer end %%EOF %%EndDocument FMENDEPSF 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.13/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "13" 17 %%Page: "14" 18 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (14) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (Attributes\050\051) 108 712 T 2 12 Q (performs) 182.51 712 T (the) 228.33 712 T (specified) 245.51 712 T (operation) 291.33 712 T (on) 339.16 712 T (each) 353.67 712 T (element) 378.16 712 T (of) 418.66 712 T (a) 431.16 712 T (set) 439 712 T (of) 454.84 712 T (attributes.) 467.34 712 T (The) 517.51 712 T (sec-) 538.68 712 T (ond form takes an array of objects of class) 108 698 T 4 10 Q (ModificationItem) 314.28 698 T 2 12 Q (:) 410.28 698 T 4 10 Q (public class ModificationItem {) 140.4 679.33 T 54 823/G3.998044 FmPA (public ModificationItem\050int modOp, Attribute attr\051 ...;) 165.6 667.33 T 54 811/G3.998045 FmPA (...) 165.6 655.33 T 54 799/G3.998046 FmPA (}) 140.4 643.33 T 54 787/G3.998047 FmPA 2 12 Q (Each) 108 624 T (operation) 134.89 624 T (is) 183.12 624 T (performed) 194.03 624 T (on) 246.91 624 T (its) 261.82 624 T (corresponding) 276.06 624 T (attribute) 347.62 624 T (in) 390.52 624 T (the) 402.76 624 T (order) 420.32 624 T (specified.) 448.55 624 T (When) 497.77 624 T (possi-) 529.33 624 T 54 768/G3.998048 FmPA (ble,) 108 610 T (a) 128.59 610 T (context) 136.83 610 T (implementation) 175.08 610 T (should) 253.34 610 T (perform) 288.27 610 T (each) 329.84 610 T (call) 354.74 610 T (to) 374.99 610 T 4 10 Q (modifyAttributes\050\051) 387.25 610 T 2 12 Q (as) 498.17 610 T (an) 511.09 610 T (atomic) 525.34 610 T (operation.) 108 596 T 3 F (5.2.2) 66 573 T (Attributes) 108 573 T 54 717/G3.999083 FmPA 2 F (A) 108 553 T (directory) 119.58 553 T (object) 165.82 553 T (contains) 198.06 553 T (a) 240.98 553 T (set) 249.22 553 T (of) 265.47 553 T (zero) 278.38 553 T (or) 301.95 553 T (more) 314.86 553 T 4 10 Q (Attribute) 342.44 553 T 2 12 Q (objects.) 399.36 553 T (Each) 439.27 553 T (attribute) 466.17 553 T (is) 509.09 553 T (denoted) 520.01 553 T 54 697/G3.999116 FmPA (by a string identifier and can have zero or more values of any type.) 108 539 T 4 10 Q (public interface Attribute ... {) 140.4 520.33 T 54 664/G3.999097 FmPA (...) 165.6 508.33 T 54 652/G3.999098 FmPA (public String getID\050\051;) 165.6 496.33 T 54 640/G3.999099 FmPA (public Object get\050int n\051 throws NamingException;) 165.6 484.33 T 54 628/G3.999100 FmPA (public boolean isOrdered\050\051;) 165.6 472.33 T 54 616/G3.999125 FmPA (public NamingEnumeration getAll\050\051) 165.6 460.33 T 54 604/G3.999101 FmPA (throws NamingException;) 216 448.33 T (...) 165.6 436.33 T 54 580/G3.999102 FmPA (}) 140.4 424.33 T 54 568/G3.999103 FmPA 2 12 Q (An) 108 405 T (attribute\325s) 126.2 405 T (values) 178.39 405 T (can) 212.58 405 T (be) 232.77 405 T (ordered) 247.63 405 T (or) 287.82 405 T (unordered.) 301.34 405 T (If) 356.52 405 T (the) 368.05 405 T (values) 386.25 405 T (are) 420.44 405 T (unordered,) 438.63 405 T (no) 493.81 405 T (duplicates) 509.34 405 T 54 549/G3.999095 FmPA (are allowed. If the values are ordered, duplicates are allowed.) 108 391 T (Attributes are grouped into a collection by using the) 108 371 T 4 10 Q (Attributes) 360.97 371 T 2 12 Q ( interface.) 420.97 371 T 54 515/G3.999126 FmPA 4 10 Q (public interface Attributes ... {) 140.4 352.33 T 54 496/G3.999132 FmPA (...) 165.6 340.33 T 54 484/G3.999136 FmPA (public Attribute get\050String attrID\051;) 165.6 328.33 T 54 472/G3.999137 FmPA (public NamingEnumeration getIDs\050\051;) 165.6 316.33 T 54 460/G3.999140 FmPA (public NamingEnumeration getAll\050\051;) 165.6 304.33 T 54 448/G3.999138 FmPA (public Attribute put\050Attribute attr\051;) 165.6 292.33 T 54 436/G3.999147 FmPA (public Attribute remove\050String attrID\051;) 165.6 280.33 T 54 424/G3.999148 FmPA (...) 165.6 268.33 T 54 412/G3.999149 FmPA (}) 140.4 256.33 T 54 400/G3.999150 FmPA 2 12 Q (JNDI) 108 237 T (provides) 140.55 237 T (implementations) 188.44 237 T (for) 275.01 237 T (these) 295.56 237 T (two) 326.78 237 T (interfaces,) 351.34 237 T 4 10 Q (BasicAttribute) 407.55 237 T 2 12 Q (and) 498.11 237 T 4 10 Q (Basic-) 522 237 T 54 381/G3.999151 FmPA (Attributes) 108 223 T 2 12 Q (,) 168 223 T (for) 173.73 223 T (convenience.) 190.44 223 T (Service) 256.14 223 T (providers) 294.86 223 T (and) 342.91 223 T (applications) 362.96 223 T (are) 423.68 223 T (free) 441.06 223 T (to) 462.44 223 T (use) 474.5 223 T (their) 493.22 223 T (own) 517.94 223 T (im-) 541.33 223 T (plementations.) 108 209 T (Note) 108 189 T (that) 134.64 189 T (updates) 155.95 189 T (to) 195.93 189 T 4 10 Q (Attributes) 208.57 189 T 2 12 Q (and) 271.89 189 T 4 10 Q (Attribute) 292.53 189 T 2 12 Q (,) 346.53 189 T (such) 352.84 189 T (as) 378.15 189 T (adding) 391.46 189 T (or) 427.44 189 T (removing) 440.74 189 T (an) 490.05 189 T (attribute) 504.7 189 T (or) 548 189 T 54 333/G3.999158 FmPA (its) 108 175 T (value,) 122.35 175 T (do) 154.35 175 T (not) 169.35 175 T (affect) 187.7 175 T (the) 218.01 175 T (corresponding) 235.68 175 T (representation) 307.34 175 T (in) 378.33 175 T (the) 390.67 175 T (directory.) 408.34 175 T (Updates) 457.67 175 T (to) 500 175 T (the) 512.34 175 T (direc-) 530.02 175 T (tory can only be effected by using) 108 161 T 4 10 Q (DirContext.modifyAttributes\050\051) 274.3 161 T 2 12 Q (.) 448.3 161 T 3 F (5.2.3) 66 138 T (Directory Objects as Naming Contexts) 108 138 T 54 282/G3.998049 FmPA 2 F (The) 108 118 T 4 10 Q (DirContext) 129.95 118 T 2 12 Q (interface) 193.24 118 T (also) 238.5 118 T (behaves) 261.12 118 T (as) 303.06 118 T (a) 316.34 118 T (naming) 324.96 118 T (context) 364.25 118 T (by) 402.86 118 T (extending) 418.15 118 T (the) 468.77 118 T 4 10 Q (Context) 486.72 118 T 2 12 Q (inter-) 532.01 118 T 54 262/G3.998050 FmPA (face.) 108 104 T (This) 134.15 104 T (means) 158.66 104 T (that) 192.49 104 T (any) 213.66 104 T (directory) 234.16 104 T (object) 280.65 104 T (can) 313.15 104 T (also) 332.98 104 T (provide) 355.49 104 T (a) 395.32 104 T (naming) 403.82 104 T (context.) 442.99 104 T (In) 484.49 104 T (addition) 497.66 104 T (to) 540.16 104 T (a) 552.67 104 T (directory) 108 90 T (object) 153.62 90 T (keeping) 185.24 90 T (a) 225.53 90 T (variety) 233.16 90 T (of) 268.78 90 T (information) 281.07 90 T (about) 340.03 90 T (a) 368.99 90 T (person,) 376.62 90 T (for) 413.91 90 T (example,) 430.2 90 T (it) 476.15 90 T (is) 485.12 90 T (also) 495.42 90 T (a) 517.05 90 T (natural) 524.67 90 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.14/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "14" 18 %%Page: "15" 19 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (15) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (naming) 108 712 T (context) 147.03 712 T (for) 185.39 712 T (resources) 202.42 712 T (associated) 250.76 712 T (with) 303.11 712 T (that) 327.48 712 T (person:) 348.51 712 T (a) 386.87 712 T (person\325s) 395.23 712 T (printers,) 438.92 712 T (file) 481.61 712 T (system,) 500.64 712 T (cal-) 540.01 712 T (endar,) 108 698 T 0 F (etc.) 140.65 698 T 2 F (Hybrid) 108 678 T (operations) 145.45 678 T (perform) 198.89 678 T (certain) 241 678 T (naming) 277.1 678 T (and) 316.55 678 T (directory) 337.33 678 T (operations) 384.1 678 T (in) 437.55 678 T (a) 450.34 678 T (single) 459.12 678 T (atomic) 491.24 678 T (opera-) 527.35 678 T 54 822/G3.999053 FmPA (tion:) 108 664 T 4 10 Q (public interface DirContext extends Context {) 140.4 645.33 T 54 789/G3.998057 FmPA (...) 165.6 633.33 T 54 777/G3.998058 FmPA (public void bind\050Name name, Object obj, Attributes attrs\051) 165.6 621.33 T 54 765/G3.998059 FmPA (throws NamingException;) 216 609.33 T 54 753/G3.998060 FmPA (...) 165.6 597.33 T 54 741/G3.998061 FmPA (}) 140.4 585.33 T 54 729/G3.998062 FmPA 2 12 Q (Other) 108 566 T (hybrid) 138 566 T (operations) 172 566 T (that) 224.67 566 T (are) 245.34 566 T (provided) 262.67 566 T (are) 308 566 T 4 10 Q (rebind\050\051) 325.33 566 T 2 12 Q (and) 376 566 T 4 10 Q (createSubcontext\050\051) 396 566 T 2 12 Q (that) 506.68 566 T (accept) 527.35 566 T 54 710/G3.998063 FmPA (an additional) 108 552 T 4 10 Q (Attributes) 173.33 552 T 2 12 Q ( argument.) 233.33 552 T 3 F (5.2.4) 66 529 T (The Initial Context) 108 529 T 54 673/G3.998065 FmPA 2 F (An) 108 509 T (application) 125.4 509 T (that) 181.46 509 T (is) 202.19 509 T (performing) 212.93 509 T (directory) 269.65 509 T (operations) 315.7 509 T (can) 368.42 509 T (use) 387.81 509 T 4 10 Q (InitialDirContext) 406.54 509 T 2 12 Q (instead) 511.27 509 T (of) 548 509 T 54 653/G3.999057 FmPA 4 10 Q (javax.naming.InitialContext) 108 495 T 2 12 Q ( to create its initial context:) 270 495 T 4 10 Q (public class InitialDirContext) 140.4 476.33 T 54 620/G3.999058 FmPA (extends InitialContext implements DirContext {) 241.2 464.33 T 54 608/G3.999059 FmPA (public InitialDirContext\050\051 ...;) 165.6 452.33 T 54 596/G3.999060 FmPA (...) 165.6 440.33 T 54 584/G3.999061 FmPA (}) 140.4 428.33 T 54 572/G3.999062 FmPA 2 12 Q (It can then invoke any method in the) 108 409 T 4 10 Q (Context) 286.64 409 T 2 12 Q ( or) 328.64 409 T 4 10 Q (DirContext) 344.64 409 T 2 12 Q ( interface on the initial context.) 404.64 409 T 54 553/G3.999055 FmPA 3 F (5.2.5) 66 386 T (Searches) 108 386 T 54 530/G3.999054 FmPA 2 F (The) 108 366 T 4 10 Q (DirContext) 129.43 366 T 2 12 Q (interface) 192.19 366 T (supports) 236.93 366 T (content-based) 280.37 366 T (searching) 349.78 366 T (of) 398.53 366 T (directories.) 411.29 366 T (In) 467.71 366 T (the) 480.47 366 T (simplest) 497.9 366 T (and) 540.67 366 T 54 510/G3.998066 FmPA (most) 108 352 T (common) 134.3 352 T (form) 179.26 352 T (of) 205.54 352 T (usage,) 218.5 352 T (the) 251.78 352 T (application) 269.4 352 T (specifies) 325.69 352 T (a) 370.64 352 T (set) 378.92 352 T (of) 395.21 352 T (attributes) 408.17 352 T (\321) 455.79 352 T (possibly) 470.75 352 T (with) 513.71 352 T (spe-) 538.01 352 T (cific) 108 338 T (values) 132.74 338 T (\321) 166.81 338 T (to) 182.23 338 T (match.) 194.97 338 T (It) 230.72 338 T (then) 241.46 338 T (invokes) 265.54 338 T (the) 306.28 338 T 4 10 Q (DirContext.search\050\051) 324.36 338 T 2 12 Q (method) 441.77 338 T (on) 481.19 338 T (the) 496.6 338 T (directory) 514.68 338 T (object, which returns the matching directory objects along with the requested attributes.) 108 324 T 4 10 Q (public interface DirContext extends Context {) 140.4 305.33 T 54 449/G3.998067 FmPA (...) 165.6 293.33 T 54 437/G3.998068 FmPA (public NamingEnumeration search\050Name name,) 165.6 281.33 T 54 425/G3.998069 FmPA ( Attributes matchingAttributes\051) 342 269.33 T 54 413/G3.998070 FmPA (throws NamingException;) 216 257.33 T 54 401/G3.998071 FmPA 54 389/G3.998072 FmPA (public NamingEnumeration search\050Name name,) 165.6 233.33 T 54 377/G3.998073 FmPA (Attributes matchingAttributes,) 342 221.33 T 54 365/G3.998074 FmPA (String[] attributesToReturn\051) 342 209.33 T 54 353/G3.998075 FmPA (throws NamingException;) 216 197.33 T 54 341/G3.998076 FmPA (...) 165.6 185.33 T 54 329/G3.998077 FmPA (}) 140.4 173.33 T 54 317/G3.998078 FmPA 2 12 Q (The) 108 154 T (results) 129.8 154 T (of) 164.26 154 T (the) 177.4 154 T (search) 195.2 154 T (are) 228.98 154 T (returned) 246.77 154 T (as) 289.89 154 T (a) 303.02 154 T 4 10 Q (NamingEnumeration) 311.48 154 T 2 12 Q (containing) 416.62 154 T (an) 470.42 154 T (enumeration) 484.88 154 T (of) 548 154 T 54 298/G3.998079 FmPA (objects of class) 108 140 T 4 10 Q (SearchResult) 184.32 140 T 2 12 Q (:) 256.32 140 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.15/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "15" 19 %%Page: "16" 20 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (16) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (public class SearchResult extends Binding {) 140.4 713.33 T 54 857/G3.998081 FmPA (...) 165.6 701.33 T 54 845/G3.998082 FmPA (public Attributes getAttributes\050\051 ...;) 165.6 689.33 T 54 833/G3.998083 FmPA (}) 140.4 677.33 T 54 821/G3.998084 FmPA 2 12 Q (In) 108 658 T (the) 120.56 658 T (more) 137.79 658 T (sophisticated) 165.02 658 T (case,) 230.25 658 T (it) 256.47 658 T (is) 265.71 658 T (possible) 276.28 658 T (to) 318.18 658 T (specify) 330.08 658 T (a) 367.3 658 T (search) 375.2 658 T (filter) 408.41 658 T (and) 434.31 658 T (to) 454.2 658 T (provide) 466.11 658 T (controlling) 505.33 658 T 54 802/G3.998085 FmPA (information) 108 644 T (such) 168.19 644 T (as) 193.71 644 T (the) 207.24 644 T (scope) 225.43 644 T (of) 256.28 644 T (the) 269.8 644 T (search) 287.99 644 T (and) 322.16 644 T (the) 343.02 644 T (maximum) 361.21 644 T (size) 413.41 644 T (of) 435.59 644 T (the) 449.12 644 T (results.) 467.31 644 T (The) 505.17 644 T (search) 527.35 644 T (filter) 108 630 T (specifies) 133.92 630 T (a) 178.5 630 T (syntax) 186.43 630 T (that) 220.35 630 T (follows) 240.95 630 T (Internet) 279.54 630 T (RFC) 319.45 630 T (2254) 344.73 630 T (for) 371.32 630 T (LDAP.) 387.91 630 T (The) 424.83 630 T 4 10 Q (SearchControls) 446.09 630 T 2 12 Q (argu-) 532.68 630 T (ment) 108 616 T (specifies) 134.69 616 T (such) 179.37 616 T (things) 204.06 616 T (as) 236.09 616 T (the) 248.78 616 T (scope) 266.14 616 T (of) 296.16 616 T (the) 308.84 616 T (search:) 326.2 616 T (this) 362.88 616 T (can) 382.91 616 T (include) 402.26 616 T (a) 440.28 616 T (single) 448.3 616 T (directory) 479.66 616 T (object,) 525.67 616 T (all of its children, or all of its descendants in the directory hierarchy.) 108 602 T 4 10 Q (public interface DirContext extends Context {) 140.4 583.33 T 54 727/G3.998086 FmPA (...) 165.6 571.33 T 54 715/G3.998087 FmPA (public NamingEnumeration search\050Name name,) 165.6 559.33 T 54 703/G3.998088 FmPA ( String filter,) 342 547.33 T 54 691/G3.998089 FmPA ( SearchControls ctls\051) 342 535.33 T 54 679/G3.998090 FmPA (throws NamingException;) 216 523.33 T 54 667/G3.998091 FmPA 54 655/G3.998092 FmPA (public NamingEnumeration search\050Name name,) 165.6 499.33 T 54 643/G3.998093 FmPA ( String filter,) 342 487.33 T 54 631/G3.998094 FmPA ( Object[] filterArgs,) 342 475.33 T 54 619/G3.998095 FmPA ( SearchControls ctls\051) 342 463.33 T 54 607/G3.998096 FmPA (throws NamingException;) 216 451.33 T 54 595/G3.998097 FmPA (...) 165.6 439.33 T 54 583/G3.998098 FmPA (}) 140.4 427.33 T 54 571/G3.998099 FmPA 3 12 Q (5.2.6) 66 405 T 2 10 Q (S) 108 405 T 3 12 Q (chema) 113.56 405 T 54 549/G3.998100 FmPA 2 F (A) 108 385 T (schema) 119.61 385 T (describes) 158.53 385 T (the) 206.13 385 T (rules) 223.73 385 T (that) 250 385 T (define) 270.94 385 T (the) 303.87 385 T (structure) 321.47 385 T (of) 366.4 385 T (a) 379.34 385 T (namespace) 387.61 385 T (and) 443.19 385 T (the) 463.46 385 T (attributes) 481.07 385 T (stored) 528.67 385 T 54 529/G3.998101 FmPA (within) 108 371 T (it.) 141.45 371 T (The) 153.9 371 T (granularity) 175.33 371 T (of) 230.76 371 T (the) 243.54 371 T (schema) 260.97 371 T (can) 299.74 371 T (range) 319.17 371 T (from) 348.6 371 T (a) 374.7 371 T (single) 382.8 371 T (schema) 414.25 371 T (that) 453.01 371 T (is) 473.79 371 T (associated) 484.57 371 T (with) 536.66 371 T (the entire namespace, to a per-attribute, fine-grained schema description.) 108 357 T (Because) 108 337 T (schemas) 151.26 337 T (can) 195.19 337 T (be) 215.13 337 T (expressed) 229.73 337 T (as) 280.32 337 T (an) 293.6 337 T (information) 308.2 337 T (tree,) 368.14 337 T (it) 392.41 337 T (is) 402.36 337 T (natural) 413.64 337 T (to) 450.24 337 T (use) 462.85 337 T (for) 482.12 337 T (this) 499.39 337 T (purpose) 520.01 337 T 54 481/G3.998102 FmPA (the) 108 323 T (naming) 124.93 323 T (and) 163.21 323 T (directory) 182.8 323 T (interfaces) 228.39 323 T (already) 277.31 323 T (defined) 314.89 323 T (in) 353.15 323 T (JNDI.) 364.76 323 T (This) 396.02 323 T (is) 419.63 323 T (powerful) 429.9 323 T (because) 475.49 323 T (the) 515.74 323 T (sche-) 532.68 323 T (ma) 108 309 T (part) 125.19 309 T (of) 146.38 309 T (a) 158.9 309 T (namespace) 166.76 309 T (is) 221.93 309 T (accessible) 232.46 309 T (to) 283.64 309 T (applications) 295.5 309 T (in) 356.02 309 T (a) 367.89 309 T (uniform) 375.74 309 T (way.) 416.93 309 T (A) 442.45 309 T (browser,) 453.64 309 T (for) 497.82 309 T (example,) 514.34 309 T (can) 108 295 T (access) 127.73 295 T (information) 161.45 295 T (in) 221.19 295 T (the) 233.6 295 T (schema) 251.34 295 T (tree) 290.4 295 T (just) 311.46 295 T (as) 331.87 295 T (though) 344.94 295 T (it) 381.35 295 T (were) 391.1 295 T (accessing) 417.49 295 T (any) 466.55 295 T (other) 486.95 295 T (directory) 514.68 295 T (objects.) 108 281 T (Applications) 108 261 T (can) 172.95 261 T (retrieve) 193.23 261 T (the) 233.49 261 T (schema) 251.78 261 T (associated) 291.38 261 T (with) 344.32 261 T (a) 369.28 261 T (directory) 378.22 261 T (object) 425.16 261 T (when) 458.11 261 T (the) 487.72 261 T (underlying) 506 261 T 54 405/G3.998103 FmPA (context implementation provides the appropriate support.) 108 247 T 4 10 Q (DirContext.getSchema\050\051) 108 227 T 2 12 Q (is) 242.86 227 T (used) 253.73 227 T (to) 278.59 227 T (retrieve) 290.78 227 T (the) 330.29 227 T (root) 347.82 227 T (of) 370.01 227 T (the) 382.87 227 T (schema) 400.4 227 T (tree) 439.25 227 T (associated) 460.1 227 T (with) 512.28 227 T (a) 536.48 227 T (di-) 544.67 227 T 54 371/G3.999370 FmPA (rectory) 108 213 T (object.) 146 213 T (The) 182.34 213 T (root) 205.01 213 T (has) 228.35 213 T (children) 248.36 213 T (such) 291.7 213 T (as) 317.71 213 T (\322ClassDefinition\323,) 331.72 213 T (\322AttributeDefinition\323,) 430.34 213 T (and) 540.67 213 T (\322SyntaxDefinition\323,) 108 199 T (each) 206.83 199 T (denoting) 231.32 199 T (the) 275.83 199 T (kind) 293 199 T (of) 316.84 199 T (definition) 329.34 199 T (being) 378.51 199 T (described.) 407.68 199 T (The) 459.17 199 T (schema) 480.34 199 T (root) 518.83 199 T (and) 540.67 199 T (its) 108 185 T (descendents) 122.8 185 T (are) 184.25 185 T (objects) 202.37 185 T (of) 239.83 185 T (type) 253.29 185 T 4 10 Q (DirContext) 277.41 185 T 2 12 Q (.) 337.41 185 T (The) 343.88 185 T 4 10 Q (DirContext.getSchemaClassDefini-) 366 185 T (tion\050\051) 108 171 T 2 12 Q (method) 146.84 171 T (returns) 185.68 171 T (a) 221.84 171 T 4 10 Q (DirContext) 230.01 171 T 2 12 Q (that) 292.85 171 T (contains) 313.69 171 T (class) 356.52 171 T (descriptions) 382.69 171 T (about) 443.52 171 T (a) 473.03 171 T (particular) 481.19 171 T (direc-) 530.02 171 T (tory object.) 108 157 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.16/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "16" 20 %%Page: "17" 21 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (17) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (public interface DirContext extends Context {) 140.4 713.33 T 54 857/G3.998105 FmPA (...) 165.6 701.33 T 54 845/G3.998106 FmPA (public DirContext getSchema\050Name name\051) 165.6 689.33 T 54 833/G3.998107 FmPA (throws NamingException;) 190.8 677.33 T 54 821/G3.998108 FmPA 54 809/G3.998109 FmPA (public DirContext getSchemaClassDefinition\050Name name\051) 165.6 653.33 T 54 797/G3.998110 FmPA (throws NamingException;) 190.8 641.33 T 54 785/G3.998111 FmPA (...) 165.6 629.33 T 54 773/G3.998112 FmPA (}) 140.4 617.33 T 54 761/G3.998113 FmPA 2 12 Q (In) 108 598 T (addition,) 124.95 598 T (the) 174.24 598 T (schema) 195.86 598 T (associated) 238.8 598 T (with) 295.08 598 T (any) 323.37 598 T (attribute) 347.65 598 T (can) 394.6 598 T (be) 418.21 598 T (accessed) 436.49 598 T (using) 485.42 598 T (the) 518.38 598 T 4 10 Q (At-) 540 598 T 54 742/G3.998904 FmPA (tribute.getAttributeDefinition\050\051) 108 584 T 2 12 Q ( and) 300 584 T 4 10 Q (getAttributeSyntaxDefinition\050\051) 323.33 584 T 2 12 Q (methods.) 503.33 584 T 4 10 Q (public interface Attribute ... {) 140.4 565.33 T 54 709/G3.998906 FmPA (...) 165.6 553.33 T 54 697/G3.998118 FmPA (public) 165.6 541.33 T (DirContext) 206.7 541.33 T (getAttributeDefinition\050\051) 271.8 541.33 T (throws) 420.9 541.33 T (NamingException;) 462 541.33 T 54 685/G3.998119 FmPA (public DirContext getAttributeSyntaxDefinition\050\051) 165.6 529.33 T 54 673/G3.998120 FmPA (throws NamingException;) 190.8 517.33 T (...) 165.6 505.33 T 54 649/G3.998121 FmPA (}) 140.4 493.33 T 54 637/G3.998122 FmPA 2 12 Q (Figure 3 is an example showing the different associations for accessing schema information.) 108 474 T 54 618/G3.998128 FmPA 3 10 Q (Figur) 54 455.33 T (e 3: Example mapping Dir) 77.71 455.33 T (ectory to Schema) 190.31 455.33 T 54 599/G3.998248 FmPA 54 92 558 452 C 0 0 0 1 0 0 0 1 K 171 244 157.67 217 2 L 3 H 2 Z 0 X N 123 256.5 110.83 224.5 2 L N 444.17 315.33 435 285 2 L N 200 334.17 246.67 283.33 2 L N 190.71 294.83 302.22 311.5 R 7 X V 191 449/G3.998246 FmPA 7 9 Q 0 X (AttributeDefinition) 195.11 300.53 T 446.17 415 425 388.33 2 L N 465.83 419.17 498.33 400.83 2 L N 414.17 364.17 413.33 340 2 L N 405.83 369.17 381.67 341.67 2 L N 428.33 371.67 445 343.33 2 L N 373.33 315 370.83 286.67 2 L N 454.17 315 461.67 285 2 L N 461.67 322.5 497.5 284.17 2 L N 502.5 382.83 493.33 370.33 2 L N 517.69 385.25 531.67 367 2 L N 413.33 315 406.67 285 2 L N 365 321.67 336.67 286.67 2 L N 361.67 260.83 350 235 2 L N 373.33 260.83 381.67 236.67 2 L N 190 328.33 190.83 284.5 2 L N 196.67 264.17 210.83 227.5 2 L N 133.33 256.67 144.17 223.33 2 L N 0 1 1 0 1 0 0 1 K 306 379 405 379 2 L N 90 450 1.5 1.5 222.64 212.84 365.67 GG 212.48 365.33 215.94 361.56 199.34 353.23 209.01 369.1 4 Y 1 H 0 Z N 212.48 365.33 215.94 361.56 199.34 353.23 209.01 369.1 4 Y V 212.84 365.67 M 227.84 379.48 266.31 379 306 379 D 3 H 2 Z N 0 0 0 1 0 0 0 1 K 4 12 Q (getSchema\050\051) 297 388 T 5 F (Schema Tree) 90 379 T [7.514 6.512] 3.757 I 216.83 406 M 280.99 406 333 281.52 333 128 D 0.5 H N J 7 9 Q (SyntaxDefinition) 210.6 326.28 T 1 1 0 0 0 0 1 1 K 1 X 90 450 13.5 13.5 412.83 159.67 G 0 X 90 450 13.5 13.5 412.83 159.67 A 0 0 0 1 0 0 0 1 K 6 12 Q (DirContext) 435.33 155.17 T 1 1 0 0 0 0 1 1 K 132.17 207.88 126.77 199.78 137.57 199.78 3 Y 1 X V 0 X N 263.37 211.65 257.97 203.55 268.77 203.55 3 Y 1 X V 0 X N 398.12 212.32 391.47 201.72 404.77 201.72 3 Y 1 X V 0 X N 457.6 259.67 452.2 251.57 463 251.57 3 Y 1 X V 0 X N 275.7 209.32 270.3 201.22 281.1 201.22 3 Y 1 X V 0 X N 474.1 259.67 468.7 251.57 479.5 251.57 3 Y 1 X V 0 X N 497.53 255.82 492.13 247.72 502.93 247.72 3 Y 1 X V 0 X N 325.53 259.48 320.13 251.38 330.93 251.38 3 Y 1 X V 0 X N 256.03 219.82 250.63 211.72 261.43 211.72 3 Y 1 X V 0 X N 412.17 128.72 406.77 120.62 417.57 120.62 3 Y 1 X V 0 X N 0 0 0 1 0 0 0 1 K (Attribute) 434.17 120.1 T 387 102.17 550.33 179.83 R N 0 1 1 0 1 0 0 1 K 90 450 1.5 1.5 166.79 237.98 200.72 GG 237.5 200.84 236.33 195.85 220.1 204.92 238.67 205.82 4 Y 1 H 0 Z N 237.5 200.84 236.33 195.85 220.1 204.92 238.67 205.82 4 Y V 335.98 197 M 295.09 197 258.62 195.88 237.98 200.72 D 3 H 2 Z N 0 0 0 1 0 0 0 1 K 4 F (getAttributeDefinition\050\051) 71.67 165.33 T 0 1 1 0 1 0 0 1 K 90 450 1.5 1.5 145.8 296.69 205.66 GG 296.27 205.94 293.39 201.71 281.5 215.98 299.15 210.18 4 Y 1 H 0 Z N 296.27 205.94 293.39 201.71 281.5 215.98 299.15 210.18 4 Y V 321.67 202.83 M 312.3 202.83 302.63 201.62 296.69 205.66 D 3 H 2 Z N 0 0 0 1 0 0 0 1 K (getAttributeSyntaxDefinition\050\051) 80.83 137.83 T 210 171.17 237.5 201.17 2 L 0.5 H N 303.33 204.5 245.83 148.67 2 L N 5 F (Directory Tree) 338.83 406.83 T 79.1 319.5 176.67 336.17 R 7 X V 79 473/G3.998247 FmPA 7 9 Q 0 X (ClassDefinition) 82.95 325.2 T 0 1 1 0 1 0 0 1 K 90 450 1.5 1.5 102.68 175.43 215.3 GG 175.32 215.79 170.32 214.67 171.4 233.23 180.32 216.92 4 Y 1 H 0 Z N 175.32 215.79 170.32 214.67 171.4 233.23 180.32 216.92 4 Y V 263.82 170.67 M 222.47 170.67 181.7 187.46 175.43 215.3 D 3 H 2 Z N 0 0 0 1 0 0 0 1 K 265.5 261.17 275.83 233.67 2 L N 4 12 Q (getSchemaClassDefinition\050\051) 106.33 105.67 T 1 1 0 0 0 0 1 1 K 210.6 200.6 205.2 192.5 216 192.5 3 Y 1 X V 0.5 H 0 X N 0 0 0 1 0 0 0 1 K 307.5 176.17 292.5 117 2 L N 119.17 258.67 98 226.17 2 L 3 H N 180 333.33 134.17 283.33 2 L N 247.5 260.33 242.17 237.33 2 L N 127.67 254.33 123.33 225.33 2 L N 258 257.67 258 237 2 L N 0 1 1 0 1 0 0 1 K 270 360 120.28 49.45 265 220.62 A 0 0 0 1 0 0 0 1 K 1 1 0 0 0 0 1 1 K 331 213.8 324.35 203.2 337.65 203.2 3 Y 1 X V 0.5 H 0 X N 344.33 207.13 337.68 196.53 350.98 196.53 3 Y 1 X V 0 X N 199.43 205.1 194.03 197 204.83 197 3 Y 1 X V 0 X N 139.93 200.43 134.53 192.33 145.33 192.33 3 Y 1 X V 0 X N 152.93 198.27 147.53 190.17 158.33 190.17 3 Y 1 X V 0 X N 5 X 90 450 12.5 12.5 538.17 356 G 0 X 90 450 12.5 12.5 538.17 356 A 5 X 90 450 10.75 12.25 510.08 393.92 G 0 X 90 450 10.75 12.25 510.08 393.92 A 5 X 90 450 13.5 13.5 489.67 356.17 G 0 X 90 450 13.5 13.5 489.67 356.17 A 3 X 90 450 13.5 13.5 454 426.83 G 0 X 90 450 13.5 13.5 454 426.83 A 1 X 90 450 13.5 13.5 415.33 328.17 G 0 X 90 450 13.5 13.5 415.33 328.17 A 1 X 90 450 13.5 13.5 366.33 273 G 0 X 90 450 13.5 13.5 366.33 273 A 1 X 90 450 13.5 13.5 406 272.5 G 0 X 90 450 13.5 13.5 406 272.5 A 1 X 90 450 13.5 13.5 465.67 272 G 0 X 90 450 13.5 13.5 465.67 272 A 1 X 90 450 13.5 13.5 449.33 329.17 G 0 X 90 450 13.5 13.5 449.33 329.17 A 1 X 90 450 13.5 13.5 375.67 330.33 G 0 X 90 450 13.5 13.5 375.67 330.33 A 1 X 90 450 13.5 13.5 497.17 272.17 G 0 X 90 450 13.5 13.5 497.17 272.17 A 1 X 90 450 13.5 13.5 435.83 272.67 G 0 X 90 450 13.5 13.5 435.83 272.67 A 1 X 90 450 13.5 13.5 333.5 274.17 G 0 X 90 450 13.5 13.5 333.5 274.17 A 1 X 90 450 13.5 13.5 130.17 269.83 G 0 X 90 450 13.5 13.5 130.17 269.83 A 1 X 90 450 13.5 13.5 189.83 343.5 G 0 X 90 450 13.5 13.5 189.83 343.5 A 1 X 90 450 13.5 13.5 258 271.17 G 0 X 90 450 13.5 13.5 258 271.17 A 1 X 90 450 13.5 13.5 213 214.5 G 0 X 90 450 13.5 13.5 213 214.5 A 1 X 90 450 13.5 13.5 148.83 212.83 G 0 X 90 450 13.5 13.5 148.83 212.83 A 1 X 90 450 13.5 13.5 417 379.33 G 0 X 90 450 13.5 13.5 417 379.33 A 1 X 90 450 13.5 13.5 344.33 221.5 G 0 X 90 450 13.5 13.5 344.33 221.5 A 1 X 90 450 13.5 13.5 274.33 222.33 G 0 X 90 450 13.5 13.5 274.33 222.33 A 1 X 90 450 13.5 13.5 190.83 270.83 G 0 X 90 450 13.5 13.5 190.83 270.83 A 1 X 90 450 13.5 13.5 386.5 224.33 G 0 X 90 450 13.5 13.5 386.5 224.33 A 1 X 90 450 9 9 171 244 G 0 X 90 450 9 9 171 244 A 0 0 0 1 0 0 0 1 K 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.17/DEST FmPD2 98 606/M3.9.41679.FigureTitle.Figure.3.Example.mapping.Directory.to.Schema FmPA 98 606/I3.1.998129 FmPA [/Rect[108 470 149 483]/Border[0 0 0]/Page 21/View[/XYZ null 98 606 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "17" 21 %%Page: "18" 22 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (18) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (5.3) 72.5 706.93 T (The Event Package \321 ja) 108 706.93 T (v) 255.42 706.93 T (ax.naming) 262.28 706.93 T (.e) 324.69 706.93 T (v) 334.2 706.93 T (ent) 341.06 706.93 T 3 11.2 Q (1) 359.72 712.53 T 54 851/G3.999204 FmPA 54 832/G3.999209 FmPA 2 12 Q (The) 108 551 T 4 10 Q (javax.naming.event) 129.93 551 T 2 12 Q (package) 241.21 551 T (contains) 283.8 551 T (classes) 327.07 551 T (and) 363.67 551 T (interfaces) 384.27 551 T (for) 434.19 551 T (supporting) 451.45 551 T (event) 506.07 551 T (noti-) 535.33 551 T 54 695/G3.999189 FmPA (fication in naming and directory services.) 108 537 T 3 F (5.3.1) 66 514 T (Naming Events) 108 514 T 54 658/G3.999297 FmPA 2 F (A) 108 494 T 4 10 Q (NamingEvent) 119.66 494 T 2 12 Q ( represents an event that is generated by a naming/directory service.) 185.66 494 T 54 638/G3.999265 FmPA 4 10 Q (public class NamingEvent extends java.util.EventObject {) 140.4 475.33 T 54 619/G3.999317 FmPA (...) 165.6 463.33 T 54 607/G3.999321 FmPA (public int getType\050\051;) 165.6 451.33 T 54 595/G3.999322 FmPA (public Binding getOldBinding\050\051;) 165.6 439.33 T 54 583/G3.999323 FmPA (public Binding getNewBinding\050\051;) 165.6 427.33 T 54 571/G3.999324 FmPA (...) 165.6 415.33 T 54 559/G3.999325 FmPA (}) 140.4 403.33 T 54 547/G3.999326 FmPA 2 12 Q (The) 108 384 T (event\325s) 130.88 384 T (type) 169.76 384 T (identifies) 194.64 384 T (the) 243.52 384 T (type) 262.41 384 T (of) 287.29 384 T (event.) 301.51 384 T (The) 334.72 384 T 4 10 Q (NamingEvent) 357.6 384 T 2 12 Q (class) 427.82 384 T (defines) 455.36 384 T (four) 494.24 384 T (types) 518.45 384 T (of) 548 384 T 54 528/G3.999327 FmPA (events:) 108 370 T 4 10 Q (OBJECT_ADDED) 140.4 351.33 T 54 495/G3.999334 FmPA (OBJECT_REMOVED) 140.4 339.33 T 54 483/G3.999338 FmPA (OBJECT_RENAMED) 140.4 327.33 T 54 471/G3.999339 FmPA (OBJECT_CHANGED) 140.4 315.33 T 54 459/G3.999340 FmPA 2 12 Q (These types can be placed into two categories:) 108 296 T 54 440/G3.999333 FmPA (\245) 115 276 T (Those that affect the namespace \050add/remove/rename an object\051) 126 276 T 54 420/G3.999301 FmPA (\245) 115 256 T (Those that affect an object\325s contents) 126 256 T 54 400/G3.999311 FmPA (In) 108 236 T (addition) 121.64 236 T (to) 164.62 236 T (the) 177.6 236 T (event\325s) 195.91 236 T (type,) 234.21 236 T (a) 261.52 236 T 4 10 Q (NamingEvent) 270.5 236 T 2 12 Q (contains) 340.14 236 T (other) 383.78 236 T (information) 412.09 236 T (about) 472.4 236 T (the) 502.71 236 T (change,) 521.02 236 T 54 380/G3.999312 FmPA (such as information about the object before and after the change.) 108 222 T 3 F (5.3.2) 66 199 T (Naming Listeners) 108 199 T 54 343/G3.999266 FmPA 2 F (A) 108 179 T 0 F (naming) 119 179 T (listener) 157.34 179 T 2 F (is) 195.68 179 T (an) 206.02 179 T (object) 219.69 179 T (that) 251.35 179 T (registers) 271.69 179 T (for) 314.69 179 T 4 10 Q (NamingEvent) 331.02 179 T 2 12 Q (s.) 397.02 179 T (It) 407.02 179 T (is) 416.69 179 T (represented) 427.04 179 T (by) 484.68 179 T (the) 499.02 179 T (interface) 516.02 179 T 54 323/G3.999272 FmPA 4 10 Q (NamingListener) 108 165 T 2 12 Q (.) 192 165 T (Each) 198.85 165 T (category) 226.7 165 T (of) 271.87 165 T 4 10 Q (NamingEvent) 285.72 165 T 2 12 Q (is) 355.57 165 T (handled) 367.43 165 T (by) 409.27 165 T (a) 425.13 165 T (corresponding) 434.31 165 T (subtype) 506.82 165 T (of) 548 165 T 4 10 Q (NamingListener) 108 151 T 2 12 Q (.) 192 151 T (The) 197.38 151 T 4 10 Q (NamespaceChangeListener) 218.43 151 T 2 12 Q (interface) 358.81 151 T (represents) 403.17 151 T (a) 454.2 151 T (listener) 461.91 151 T (interested) 499.62 151 T (in) 548.66 151 T (namespace) 108 137 T (changes,) 166.1 137 T (while) 213.2 137 T (the) 245.32 137 T 4 10 Q (ObjectChangeListener) 265.44 137 T 2 12 Q (represents) 390.89 137 T (a) 444.99 137 T (listener) 455.77 137 T (interested) 496.55 137 T (in) 548.66 137 T (changes) 108 123 T (to) 150.68 123 T (an) 164.04 123 T (object\325s) 179.4 123 T (contents.) 221.42 123 T (A) 268.45 123 T (listener) 281.14 123 T (implementation) 320.49 123 T (might) 399.86 123 T (implement) 431.89 123 T (one) 487.26 123 T (or) 508.61 123 T (both) 522.64 123 T (of) 548 123 T (these interfaces, depending on the types of events it is interested in.) 108 109 T 54 84 558 98.98 C 0 0 0 1 0 0 0 1 K 54 84 558 98.98 R 7 X V 63 96.96 207 96.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 77.33 T (See Appendix C for le) 84 77.33 T (gend of class diagram.) 173.28 77.33 T 54 221/G3.999203 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 90 567 558 684.27 C 0 0 0 1 0 0 0 1 K 0 30.24 649.76 453 761.76 422.76 112 108.24 572.27 FMBEGINEPSF %%BeginDocument: /home/jenball/ws/myjndi/spec/javax.naming.event-0.eps %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSans-Typewriter %%DocumentNeededFonts: LucidaSans-Typewriter %%BoundingBox: 30.24 649.76 453 761.76 %%EndComments /fontsize 6.00 def /boxdict 100 dict def boxdict begin /inch { 72 mul } def % % Primary input variables. If you change the default font, make sure % to update the comments above too. % /defaultfont /LucidaSans-Typewriter def /defaultscale fontsize def % % This variable is the approximate amount that the `center' of the text % line is above the baseline, as a fraction of the total height of % the font. % /centerabovebaseline 0 def /realtextheight 0 def /setcenterabovebaseline { gsave 0 0 moveto (\() false charpath pathbbox exch pop exch neg exch 2 index add /realtextheight exch def realtextheight div /centerabovebaseline exch def pop grestore } def /pagebegin { /pagerestore save def defaultfont findfont defaultscale scalefont setfont setcenterabovebaseline .5 inch -.5 inch translate } def /descender { /lly 0.0 def /ury 0.0 def { ( ) dup 0 4 -1 roll put charheight pop dup lly lt { /lly exch def } { pop } ifelse } forall lly } def % % This show operator takes a width and scales the text to fit the width. % It can scale height and width identically (aspect=1), or just scale % width (aspect=0), or scale width twice as much as height (aspect=0.5). % Set aspect to your taste. /mtwshow means max-text-width-show. A % more functional solution would take the maxtextwidth as a parameter % rather than using a global, but this has more impact on the existing % code so I don't do that. % /aspect 0.5 def /mtwshow { gsave 0 h 2 div centerabovebaseline 0.5 sub realtextheight mul add rmoveto currentpoint translate dup stringwidth pop dup javamaxtextwidth gt { 0 centerabovebaseline translate javamaxtextwidth exch div dup aspect mul 1 aspect sub add scale 0 centerabovebaseline neg translate } { pop } ifelse 0 0 moveto show grestore } def % % This macro gives us a rectangular path, just like rectstroke except it does not stroke. % Assumes origin is lower left hand corner, so only two args are passed. % /rectpath { /h exch def /w exch def newpath 0 0 moveto w 0 rlineto 0 h rlineto w neg 0 rlineto closepath } def % % This macro works like rectpath except it draws rounded corners. The radius of % the rounded corners must be set in the global variable /roundrectradius. % /roundrectradius 0 def /roundrectpath { /h exch def /w exch def newpath w 2 div 0 moveto w 0 w h roundrectradius arct w h w 2 div h roundrectradius arct 0 h 0 0 roundrectradius arct 0 0 w 2 div 0 roundrectradius arct closepath } def % % This macro takes a width and a height and draws either a roundrectpath or a rectpath % depending on the setting of the /rounded macro. It also sets the roundrectradius % to half the height before doing this, as appropriate for the smaller boxes. % /rounded false def % by default, square boxes. /javarect { /h exch def /w exch def /roundrectradius h 2 div def w h rounded { roundrectpath } { rectpath } ifelse } def % % Draw a shadowed box/rounded box. This is the four-argument macro that takes a x, y, % width, and height. % /shadowed true def /corner false def /shadowxoff 2 def /shadowyoff -2 def /shadowcolor { 0.6 0.6 0.6 } def /boxbgcolor { 1 1 1 } def /dotted false def /dotcolor { 0 0 0 } def /black { 0 0 0 } def /javabox { /h exch def /w exch def gsave translate shadowed { gsave shadowxoff shadowyoff translate shadowcolor setrgbcolor w h javarect gsave stroke grestore fill grestore } if w h javarect gsave boxbgcolor setrgbcolor fill grestore stroke % % Always draw the dot centered at position (w-h/2, h/2) with a size of 0.6 of the height. % /javamaxtextwidth maxtextwidth def dotted { gsave /r 0.4 h mul 2 div def w h 2 div sub h 2 div r 0 360 arc gsave dotcolor setrgbcolor fill grestore stroke grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if corner { gsave w h 3 div sub 0 moveto w h 3 div lineto w 0 lineto w h 3 div sub 0 lineto gsave stroke grestore black setrgbcolor fill grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if grestore } def end % %%EndProlog %%BeginSetup boxdict begin %%EndSetup %%Page: 1 1 pagebegin 1 setlinecap 1 setlinejoin % currentlinewidth 0.1 mul setlinewidth .3 setlinewidth gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.68 inch moveto 3.84 inch 10.68 inch lineto stroke grestore /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.0 inch 10.84 inch 1.6 inch 0.16 inch javabox 0.08 inch 10.84 inch moveto (java.lang.Object) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.6 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.6 inch moveto (java.util.EventObject) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 10.36 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 10.36 inch moveto (NamingEvent) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 10.12 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 10.12 inch moveto (NamingExceptionEvent) mtwshow gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.68 inch lineto 0.24 inch 10.68 inch lineto stroke grestore gsave 0.36 inch 10.6 inch moveto 0.36 inch 10.44 inch lineto 0.48 inch 10.44 inch lineto stroke grestore gsave 0.36 inch 10.6 inch moveto 0.36 inch 10.2 inch lineto 0.48 inch 10.2 inch lineto stroke grestore /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.84 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.84 inch moveto (EventContext) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.6 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.6 inch moveto (java.io.Serializable) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.36 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.36 inch moveto (NamingListener) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.12 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.12 inch moveto (NamespaceChangeListener) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.879999999999999 inch moveto (ObjectChangeListener) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.64 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.64 inch moveto (EventDirContext) mtwshow grestore showpage pagerestore restore %%Trailer end %%EOF %%EndDocument FMENDEPSF 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.18/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "18" 22 %%Page: "19" 23 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (19) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 12 Q 0 X (5.3.3) 66 712 T (Event Registration and Deregistration) 108 712 T 54 856/G3.999273 FmPA 2 F (The) 108 692 T 4 10 Q (EventContext) 129.26 692 T 2 12 Q (and) 203.87 692 T 4 10 Q (EventDirContext) 223.8 692 T 2 12 Q (interfaces) 316.41 692 T (extend) 365.66 692 T (the) 400.26 692 T 4 10 Q (Context) 417.52 692 T 2 12 Q (and) 462.13 692 T 4 10 Q (DirContext) 482.06 692 T 2 12 Q (in-) 544.67 692 T 54 836/G3.999425 FmPA (terfaces, respectively, to support event registration and deregistration.) 108 678 T 4 10 Q (public interface EventContext extends Context {) 140.4 659.33 T 54 803/G3.999434 FmPA (...) 165.6 647.33 T 54 791/G3.999444 FmPA (public void addNamingListener\050Name target,) 165.6 635.33 T 54 779/G3.999435 FmPA (int scope,) 342 623.33 T 54 767/G3.999436 FmPA (NamingListener l\051) 342 611.33 T 54 755/G3.999437 FmPA (throws NamingException;) 190.8 599.33 T 54 743/G3.999438 FmPA (public void removeNamingListener\050NamingListener l\051) 165.6 587.33 T 54 731/G3.999439 FmPA (throws NamingException;) 190.8 575.33 T 54 719/G3.999440 FmPA (public boolean targetMustExist\050\051) 165.6 563.33 T 54 707/G3.999441 FmPA (throws NamingException;) 190.8 551.33 T 54 695/G3.999442 FmPA (}) 140.4 539.33 T 54 683/G3.999443 FmPA 2 12 Q (Like) 108 520 T (methods) 132.44 520 T (in) 175.54 520 T (the) 187.32 520 T (corresponding) 204.42 520 T 4 10 Q (Context) 275.51 520 T 2 12 Q (interface,) 319.95 520 T 4 10 Q (addNamingListener\050\051) 367.37 520 T 2 12 Q (has) 483.81 520 T (an) 502.24 520 T (overload) 516.01 520 T 54 664/G3.999466 FmPA (that) 108 506 T (accepts) 129.87 506 T (a) 169.07 506 T 4 10 Q (String) 178.27 506 T 2 12 Q (name) 218.14 506 T (argument.) 248.01 506 T (The) 300.21 506 T (name) 322.74 506 T (parameter) 352.61 506 T (is) 404.46 506 T (referred) 416.34 506 T (to) 458.18 506 T (as) 471.39 506 T (the) 485.26 506 T 0 F (target) 503.8 506 T 2 F (.) 532.47 506 T (The) 539.34 506 T (scope) 108 492 T (parameter) 137.89 492 T (specifies) 188.43 492 T (whether) 232.98 492 T (the) 274.19 492 T (registration) 291.42 492 T (is) 348.64 492 T (for) 359.2 492 T (the) 375.76 492 T (object) 392.98 492 T (named) 424.88 492 T (by) 459.43 492 T (the) 473.99 492 T (target,) 491.22 492 T (the) 524.1 492 T (im-) 541.33 492 T (mediate) 108 478 T (children) 149.35 478 T (of) 192.04 478 T (the) 205.39 478 T (context) 223.42 478 T (named) 262.1 478 T (by) 297.46 478 T (the) 312.82 478 T (target,) 330.84 478 T (or) 364.52 478 T (the) 377.88 478 T (entire) 395.9 478 T (subtree) 426.59 478 T (rooted) 464.6 478 T (at) 498.62 478 T (the) 510.65 478 T (object) 528.67 478 T (named by the target.) 108 464 T (It) 108 444 T (is) 118.24 444 T (possible) 129.15 444 T (to) 171.4 444 T (register) 183.64 444 T (interest) 222.54 444 T (in) 260.77 444 T (a) 273.02 444 T (target) 281.25 444 T (that) 311.48 444 T (does) 332.39 444 T (not) 357.3 444 T (exist,) 375.54 444 T (but) 404.12 444 T (there) 422.36 444 T (might) 449.26 444 T (be) 480.17 444 T (limitations) 494.41 444 T (in) 548.66 444 T 54 588/G3.999517 FmPA (the) 108 430 T (extent) 125.72 430 T (to) 158.1 430 T (which) 170.49 430 T (this) 202.87 430 T (can) 223.26 430 T (be) 242.97 430 T (supported) 257.35 430 T (by) 307.73 430 T (the) 322.79 430 T (service) 340.5 430 T (provider) 377.54 430 T (and) 421.25 430 T (underlying) 441.63 430 T (protocol/ser-) 496.68 430 T (vice.) 108 416 T (An) 133.69 416 T (application) 151.06 416 T (can) 207.08 416 T (use) 226.44 416 T (the) 245.14 416 T (method) 262.5 416 T 4 10 Q (targetMustExist\050\051) 301.2 416 T 2 12 Q (to) 405.9 416 T (check) 417.94 416 T (whether) 448.62 416 T (an) 489.97 416 T 4 10 Q (EventCon-) 504 416 T (text) 108 402 T 2 12 Q ( supports registration of nonexistent targets.) 132 402 T 4 10 Q (public interface EventDirContext extends EventContext, DirContext {) 140.4 383.33 T 54 527/G3.999445 FmPA (public void addNamingListener\050Name target,) 165.6 371.33 T 54 515/G3.999446 FmPA (String filter,) 342 359.33 T 54 503/G3.999447 FmPA (SearchControls ctls,) 342 347.33 T 54 491/G3.999448 FmPA (NamingListener l\051) 342 335.33 T 54 479/G3.999449 FmPA (throws NamingException;) 190.8 323.33 T 54 467/G3.999450 FmPA (public void addNamingListener\050Name target,) 165.6 311.33 T 54 455/G3.999451 FmPA (String filter,) 342 299.33 T 54 443/G3.999452 FmPA (Object[] filterArgs,) 342 287.33 T 54 431/G3.999453 FmPA (SearchControls ctls,) 342 275.33 T 54 419/G3.999454 FmPA (NamingListener l\051) 342 263.33 T 54 407/G3.999455 FmPA (throws NamingException;) 190.8 251.33 T 54 395/G3.999456 FmPA (...) 165.6 239.33 T 54 383/G3.999457 FmPA (}) 140.4 227.33 T 54 371/G3.999458 FmPA 2 12 Q (The) 108 208 T 4 10 Q (EventDirContext) 129.67 208 T 2 12 Q (interface) 222.67 208 T (extends) 267.66 208 T (the) 307.33 208 T 4 10 Q (EventContext) 325 208 T 2 12 Q (and) 400 208 T 4 10 Q (DirContext) 420.34 208 T 2 12 Q (interfaces) 483.35 208 T (to) 533 208 T (al-) 545.34 208 T 54 352/G3.999459 FmPA (low) 108 194 T (a) 128.98 194 T (listener) 137.29 194 T (to) 175.6 194 T (register) 187.91 194 T (interest) 226.88 194 T (in) 265.19 194 T (objects) 277.51 194 T (identified) 314.48 194 T (using) 363.46 194 T (search) 392.44 194 T (filters) 426.07 194 T (\050Internet) 457.05 194 T (RFC) 501.34 194 T (2254\051.) 527 194 T (Like) 108 174 T (methods) 134.38 174 T (in) 179.42 174 T (the) 193.14 174 T (corresponding) 212.18 174 T 4 10 Q (DirContext) 285.22 174 T 2 12 Q (interface,) 349.6 174 T 4 10 Q (addNamingListener\050\051) 398.95 174 T 2 12 Q (methods) 517.33 174 T 54 318/G3.999552 FmPA (have overloads that accept a) 108 160 T 4 10 Q (String) 246.29 160 T 2 12 Q ( name argument.) 282.29 160 T (The) 108 140 T 4 10 Q (EventContext/EventDirContext) 129.24 140 T 2 12 Q (instance) 299.81 140 T (on) 341.71 140 T (which) 356.28 140 T (the) 388.19 140 T 4 10 Q (addNamingListener\050\051) 405.42 140 T 2 12 Q (method) 522 140 T 54 284/G3.999572 FmPA (is) 108 126 T (invoked) 118.39 126 T (is) 159.44 126 T (the) 169.83 126 T 0 F (event) 186.88 126 T (source) 214.58 126 T 2 F (of) 248.96 126 T (the) 261.34 126 T (events) 278.39 126 T (that) 311.43 126 T (are) 331.82 126 T (\050potentially\051) 348.85 126 T (generated.) 410.57 126 T (When) 462.59 126 T (the) 493.64 126 T (registered) 510.68 126 T (listener) 108 112 T (invokes) 147.12 112 T 4 10 Q (getSource\050\051) 188.24 112 T 2 12 Q (or) 258.03 112 T 4 10 Q (getEventContext\050\051) 271.82 112 T 2 12 Q (on) 377.61 112 T (a) 393.39 112 T 4 10 Q (NamingEvent) 402.51 112 T 2 12 Q (,) 468.51 112 T (the) 475.3 112 T (result) 493.76 112 T (will) 524.21 112 T (be) 546.67 112 T (this) 108 98 T 4 10 Q (EventContext) 128.34 98 T 2 12 Q (/) 200.34 98 T 4 10 Q (EventDirContext) 203.68 98 T 2 12 Q ( instance.) 293.68 98 T (For example, suppose a listener makes the following registration:) 108 78 T 54 222/G3.999581 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.19/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "19" 23 %%Page: "20" 24 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (20) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (NamespaceChangeListener listener = ...;) 140.4 713.33 T 54 857/G3.999583 FmPA (src.addNamingListener\050"x", SUBTREE_SCOPE, listener\051;) 140.4 701.33 T 54 845/G3.999584 FmPA 2 12 Q (When) 108 682 T (an) 140.21 682 T (object) 155.09 682 T (named) 187.97 682 T (\322x/y\323) 223.51 682 T (is) 253.06 682 T (subsequently) 264.61 682 T (deleted,) 330.83 682 T (the) 372.04 682 T (corresponding) 390.25 682 T 4 10 Q (NamingEvent) 462.46 682 T 2 12 Q (\050) 532.01 682 T 4 10 Q (evt) 536 682 T 2 12 Q (\051) 554 682 T 54 826/G3.999586 FmPA (delivered to) 108 668 T 4 10 Q (listener) 167.99 668 T 2 12 Q ( must contain) 215.99 668 T 4 10 Q (src) 283.66 668 T 2 12 Q ( as its event source. The following will both be true:) 301.66 668 T 4 10 Q (evt.getEventContext\050\051 == src) 140.4 649.33 T 54 793/G3.999589 FmPA (evt.getOldBinding\050\051.getName\050\051.equals\050"x/y"\051) 140.4 637.33 T 54 781/G3.999590 FmPA 3 12 Q (5.3.4) 66 615 T (Exception Handling) 108 615 T 54 759/G3.999277 FmPA 2 F (When) 108 595 T (a) 139.56 595 T (listener) 147.78 595 T (registers) 186.01 595 T (for) 229.57 595 T (events) 246.46 595 T (with) 280.02 595 T (a) 304.26 595 T (context,) 312.49 595 T (the) 353.71 595 T (context) 371.28 595 T (might) 409.51 595 T (need) 440.42 595 T (to) 465.97 595 T (do) 478.21 595 T (some) 493.11 595 T (internal) 521.34 595 T 54 739/G3.999407 FmPA (processing) 108 581 T (in) 162.28 581 T (order) 174.58 581 T (to) 202.86 581 T (collect) 215.15 581 T (information) 250.11 581 T (required) 309.73 581 T (to) 352.67 581 T (generate) 364.97 581 T (the) 408.57 581 T (events.) 426.2 581 T (The) 462.82 581 T (context,) 484.44 581 T (for) 525.72 581 T (ex-) 542.68 581 T (ample,) 108 567 T (might) 143.49 567 T (need) 174.66 567 T (to) 200.48 567 T (make) 212.98 567 T (a) 242.13 567 T (request) 250.62 567 T (to) 288.44 567 T (the) 300.94 567 T (server) 318.77 567 T (to) 351.24 567 T (register) 363.74 567 T (interest) 402.89 567 T (in) 441.38 567 T (changes) 453.88 567 T (on) 495.7 567 T (the) 510.86 567 T (server) 528.68 567 T (that) 108 553 T (will) 128.65 553 T (eventually) 149.97 553 T (be) 202.61 553 T (translated) 216.59 553 T (into) 265.89 553 T (events.) 287.21 553 T (If) 323.52 553 T (an) 334.16 553 T (error) 348.14 553 T (occurs) 374.1 553 T (that) 408.07 553 T (prevents) 428.72 553 T (information) 472.02 553 T (about) 531.34 553 T (the) 108 539 T (events) 125.42 539 T (from) 158.84 539 T (being) 184.92 539 T (collected,) 214.34 539 T (the) 263.41 539 T (listener) 280.83 539 T (will) 318.92 539 T (never) 340.34 539 T (be) 369.75 539 T (notified) 383.83 539 T (of) 423.92 539 T (the) 436.67 539 T (events.) 454.09 539 T (When) 490.51 539 T (such) 521.92 539 T (an) 546.67 539 T (error) 108 525 T (occurs,) 134.56 525 T (a) 172.12 525 T 4 10 Q (NamingExceptionEvent) 180.69 525 T 2 12 Q (is) 303.93 525 T (fired) 315.18 525 T (to) 341.08 525 T (notify) 353.66 525 T (the) 385.57 525 T (listener,) 403.48 525 T (and) 445.05 525 T (the) 465.62 525 T (listener) 483.52 525 T (is) 522.09 525 T (auto-) 533.34 525 T (matically deregistered.) 108 511 T (The) 108 491 T (base) 130.27 491 T 4 10 Q (NamingListener) 155.2 491 T 2 12 Q (interface) 242.8 491 T (defines) 288.38 491 T (a) 326.65 491 T 4 10 Q (namingExceptionThrown\050\051) 335.58 491 T 2 12 Q (method) 477.19 491 T (so) 516.79 491 T (that) 531.07 491 T (a) 552.67 491 T 54 635/G3.999653 FmPA (listener can be notified of such an error.) 108 477 T 4 10 Q ( public interface NamingListener extends java.util.EventListener {) 140.4 458.33 T 54 602/G3.999652 FmPA (public void namingExceptionThrown\050NamingExceptionEvent evt\051;) 165.6 446.33 T 54 590/G3.999408 FmPA (}) 140.4 434.33 T 54 578/G3.999409 FmPA 3 14 Q (5.4) 72.5 403.93 T (The LDAP Package \321 ja) 108 403.93 T (v) 258.53 403.93 T (ax.naming) 265.39 403.93 T (.ldap) 327.8 403.93 T 3 11.2 Q (1) 357.76 409.53 T 54 548/G3.999241 FmPA 54 529/G3.999250 FmPA 2 12 Q (The) 108 158 T 4 10 Q (javax.naming.ldap) 129.47 158 T 2 12 Q (package) 234.28 158 T (contains) 276.4 158 T (classes) 319.2 158 T (and) 355.34 158 T (interfaces) 375.48 158 T (for) 424.93 158 T (using) 441.73 158 T (LDAP) 470.54 158 T (v3-specific) 504.68 158 T 54 302/G3.999251 FmPA (features) 108 144 T (that) 148.69 144 T (are) 169.4 144 T (not) 186.76 144 T (already) 204.8 144 T (covered) 242.82 144 T (by) 283.51 144 T (the) 298.22 144 T (more) 315.59 144 T (generic) 342.96 144 T 4 10 Q (javax.naming.directory) 380.98 144 T 2 12 Q (package.) 515.69 144 T (In) 108 130 T (fact,) 120.9 130 T (the) 144.79 130 T (majority) 162.35 130 T (of) 205.92 130 T (JNDI) 218.81 130 T (applications) 247.71 130 T (that) 308.6 130 T (use) 329.5 130 T (LDAP) 348.4 130 T (will) 382.63 130 T (find) 404.2 130 T (the) 426.43 130 T 4 10 Q (javax.naming.direc-) 444 130 T (tory) 108 116 T 2 12 Q (package) 134.84 116 T (sufficient,) 176.99 116 T (and) 228.15 116 T (will) 248.32 116 T (not) 269.83 116 T (need) 288 116 T (to) 313.49 116 T (use) 325.67 116 T (this) 344.5 116 T (package) 364.68 116 T (at) 406.83 116 T (all.) 418.33 116 T (This) 436.17 116 T (package) 460.34 116 T (is) 502.49 116 T (primarily) 513.34 116 T 54 84 558 98.98 C 0 0 0 1 0 0 0 1 K 54 84 558 98.98 R 7 X V 63 96.96 207 96.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 77.33 T (See Appendix C for le) 84 77.33 T (gend of class diagram.) 173.28 77.33 T 54 221/G3.999240 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 90 174 558 381.27 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (\050e) 396.99 185.44 T (xception classes are not sho) 404.61 185.44 T (wn\051) 515.45 185.44 T 0 30.24 580.76 453 761.76 422.76 181 108 200.27 FMBEGINEPSF %%BeginDocument: /home/jenball/ws/myjndi/spec/javax.naming.ldap-0.eps %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSans-Typewriter %%DocumentNeededFonts: LucidaSans-Typewriter %%BoundingBox: 30.24 580.76 453 761.76 %%EndComments /fontsize 6.00 def /boxdict 100 dict def boxdict begin /inch { 72 mul } def % % Primary input variables. If you change the default font, make sure % to update the comments above too. % /defaultfont /LucidaSans-Typewriter def /defaultscale fontsize def % % This variable is the approximate amount that the `center' of the text % line is above the baseline, as a fraction of the total height of % the font. % /centerabovebaseline 0 def /realtextheight 0 def /setcenterabovebaseline { gsave 0 0 moveto (\() false charpath pathbbox exch pop exch neg exch 2 index add /realtextheight exch def realtextheight div /centerabovebaseline exch def pop grestore } def /pagebegin { /pagerestore save def defaultfont findfont defaultscale scalefont setfont setcenterabovebaseline .5 inch -.5 inch translate } def /descender { /lly 0.0 def /ury 0.0 def { ( ) dup 0 4 -1 roll put charheight pop dup lly lt { /lly exch def } { pop } ifelse } forall lly } def % % This show operator takes a width and scales the text to fit the width. % It can scale height and width identically (aspect=1), or just scale % width (aspect=0), or scale width twice as much as height (aspect=0.5). % Set aspect to your taste. /mtwshow means max-text-width-show. A % more functional solution would take the maxtextwidth as a parameter % rather than using a global, but this has more impact on the existing % code so I don't do that. % /aspect 0.5 def /mtwshow { gsave 0 h 2 div centerabovebaseline 0.5 sub realtextheight mul add rmoveto currentpoint translate dup stringwidth pop dup javamaxtextwidth gt { 0 centerabovebaseline translate javamaxtextwidth exch div dup aspect mul 1 aspect sub add scale 0 centerabovebaseline neg translate } { pop } ifelse 0 0 moveto show grestore } def % % This macro gives us a rectangular path, just like rectstroke except it does not stroke. % Assumes origin is lower left hand corner, so only two args are passed. % /rectpath { /h exch def /w exch def newpath 0 0 moveto w 0 rlineto 0 h rlineto w neg 0 rlineto closepath } def % % This macro works like rectpath except it draws rounded corners. The radius of % the rounded corners must be set in the global variable /roundrectradius. % /roundrectradius 0 def /roundrectpath { /h exch def /w exch def newpath w 2 div 0 moveto w 0 w h roundrectradius arct w h w 2 div h roundrectradius arct 0 h 0 0 roundrectradius arct 0 0 w 2 div 0 roundrectradius arct closepath } def % % This macro takes a width and a height and draws either a roundrectpath or a rectpath % depending on the setting of the /rounded macro. It also sets the roundrectradius % to half the height before doing this, as appropriate for the smaller boxes. % /rounded false def % by default, square boxes. /javarect { /h exch def /w exch def /roundrectradius h 2 div def w h rounded { roundrectpath } { rectpath } ifelse } def % % Draw a shadowed box/rounded box. This is the four-argument macro that takes a x, y, % width, and height. % /shadowed true def /corner false def /shadowxoff 2 def /shadowyoff -2 def /shadowcolor { 0.6 0.6 0.6 } def /boxbgcolor { 1 1 1 } def /dotted false def /dotcolor { 0 0 0 } def /black { 0 0 0 } def /javabox { /h exch def /w exch def gsave translate shadowed { gsave shadowxoff shadowyoff translate shadowcolor setrgbcolor w h javarect gsave stroke grestore fill grestore } if w h javarect gsave boxbgcolor setrgbcolor fill grestore stroke % % Always draw the dot centered at position (w-h/2, h/2) with a size of 0.6 of the height. % /javamaxtextwidth maxtextwidth def dotted { gsave /r 0.4 h mul 2 div def w h 2 div sub h 2 div r 0 360 arc gsave dotcolor setrgbcolor fill grestore stroke grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if corner { gsave w h 3 div sub 0 moveto w h 3 div lineto w 0 lineto w h 3 div sub 0 lineto gsave stroke grestore black setrgbcolor fill grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if grestore } def end % %%EndProlog %%BeginSetup boxdict begin %%EndSetup %%Page: 1 1 pagebegin 1 setlinecap 1 setlinejoin % currentlinewidth 0.1 mul setlinewidth .3 setlinewidth gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 10.44 inch moveto 3.84 inch 10.44 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 1.92 inch 9.959999999999999 inch moveto 3.84 inch 9.959999999999999 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 2.16 inch 9.72 inch moveto 3.84 inch 9.72 inch lineto stroke grestore gsave .5 setlinewidth [0.1 3] 1.6 setdash 2.4 inch 9.48 inch moveto 3.84 inch 9.48 inch lineto stroke grestore /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.0 inch 10.84 inch 1.6 inch 0.16 inch javabox 0.08 inch 10.84 inch moveto (java.lang.Object) mtwshow /rounded false def /corner false def /dotted true def /dotcolor { 1 1 1 } def /maxtextwidth 97.92 def /boxbgcolor {1 1 1} def 0.24 inch 10.6 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.6 inch moveto (ControlFactory) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 10.36 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.36 inch moveto (java.util.EventObject) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 10.12 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 10.12 inch moveto (UnsolicitedNotificationEvent) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.24 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 0.32 inch 9.879999999999999 inch moveto (javax.naming.InitialContext) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 9.64 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 9.64 inch moveto (javax.naming.directory.InitialDirContext) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.72 inch 9.4 inch 1.6 inch 0.16 inch javabox 0.7999999999999999 inch 9.4 inch moveto (InitialLdapContext) mtwshow gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.68 inch lineto 0.24 inch 10.68 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.44 inch lineto 0.24 inch 10.44 inch lineto stroke grestore gsave 0.12 inch 10.84 inch moveto 0.12 inch 9.959999999999999 inch lineto 0.24 inch 9.959999999999999 inch lineto stroke grestore gsave 0.36 inch 10.36 inch moveto 0.36 inch 10.2 inch lineto 0.48 inch 10.2 inch lineto stroke grestore gsave 0.36 inch 9.879999999999999 inch moveto 0.36 inch 9.72 inch lineto 0.48 inch 9.72 inch lineto stroke grestore gsave 0.6 inch 9.64 inch moveto 0.6 inch 9.48 inch lineto 0.72 inch 9.48 inch lineto stroke grestore /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.84 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.84 inch moveto (ExtendedResponse) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.6 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.6 inch moveto (ExtendedRequest) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.36 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.36 inch moveto (java.io.Serializable) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 10.12 inch 1.6 inch 0.16 inch javabox 3.92 inch 10.12 inch moveto (Control) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.879999999999999 inch moveto (javax.naming.Context) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.64 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.64 inch moveto (javax.naming.directory.DirContext) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.4 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.4 inch moveto (LdapContext) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 9.16 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.16 inch moveto (HasControls) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 8.92 inch 1.6 inch 0.16 inch javabox 3.92 inch 8.92 inch moveto (UnsolicitedNotification) mtwshow /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 3.84 inch 8.68 inch 1.6 inch 0.16 inch javabox 3.92 inch 8.68 inch moveto (UnsolicitedNotificationListener) mtwshow grestore showpage pagerestore restore %%Trailer end %%EOF %%EndDocument FMENDEPSF 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.20/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "20" 24 %%Page: "21" 25 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (21) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (for) 108 712 T (those) 125.78 712 T (applications) 154.89 712 T (that) 216.67 712 T (need) 238.45 712 T (to) 264.89 712 T (use) 278.01 712 T (extended) 297.79 712 T (operations,) 344.89 712 T (controls,) 401.67 712 T (or) 447.11 712 T (unsolicited) 460.89 712 T (notifica-) 517.34 712 T (tions.) 108 698 T 3 F (5.4.1) 66 675 T (Extended Operations) 108 675 T 54 819/G3.999666 FmPA 2 F (In) 108 655 T (addition) 120.5 655 T (to) 162.34 655 T (specifying) 174.18 655 T (well-defined) 226.68 655 T (operations) 289.83 655 T (such) 342.33 655 T (as) 366.83 655 T (search) 379.33 655 T (and) 412.49 655 T (modify,) 432.32 655 T (the) 472.49 655 T (LDAP) 489.67 655 T (v3) 523.5 655 T (pro-) 538.01 655 T 54 799/G3.999820 FmPA (tocol) 108 641 T (\050Internet) 134.45 641 T (RFC) 178.22 641 T (2251\051) 203.35 641 T (specifies) 233.8 641 T (a) 278.23 641 T (way) 286.01 641 T (of) 308.46 641 T (transmitting) 320.9 641 T (yet-to-be) 381.36 641 T (defined) 427.13 641 T (operations) 465.57 641 T (between) 518.02 641 T (the) 108 627 T (LDAP) 126.24 627 T (client) 161.16 627 T (and) 191.4 627 T (server.) 212.31 627 T (These) 248.21 627 T (operations) 280.44 627 T (are) 334.01 627 T (referred) 352.25 627 T (to) 393.79 627 T (as) 406.71 627 T 0 F (extended) 420.29 627 T (operations) 466.52 627 T 2 F (.) 517.85 627 T (An) 524.43 627 T (ex-) 542.68 627 T (tended) 108 613 T (operation) 142.89 613 T (may) 191.12 613 T (be) 214.68 613 T (defined) 228.91 613 T (by) 267.8 613 T (a) 282.71 613 T (standards) 290.94 613 T (organization) 339.16 613 T (such) 402.05 613 T (as) 426.95 613 T (the) 439.85 613 T (IETF) 457.41 613 T (or) 485.65 613 T (by) 498.54 613 T (a) 513.45 613 T (vendor.) 521.68 613 T (The) 108 593 T 4 10 Q (LdapContext) 129.66 593 T 2 12 Q ( interface defines a method for executing an extended operation:) 195.66 593 T 54 737/G3.999870 FmPA 4 10 Q (public interface LdapContext extends DirContext {) 140.4 574.33 T 54 718/G3.999871 FmPA (public) 165.6 562.33 T (ExtendedResponse) 206.4 562.33 T (extendedOperation\050ExtendedRequest) 307.2 562.33 T (request\051) 510 562.33 T 54 706/G3.999872 FmPA (throws NamingException;) 190.8 550.33 T 54 694/G3.999873 FmPA (...) 165.6 538.33 T 54 682/G3.999874 FmPA (}) 140.4 526.33 T 54 670/G3.999875 FmPA 2 12 Q (The) 108 507 T 4 10 Q (ExtendedRequest) 130.03 507 T 2 12 Q (interface) 223.4 507 T (represents) 268.75 507 T (the) 320.77 507 T (argument) 338.81 507 T (to) 387.5 507 T (an) 400.21 507 T (extended) 414.91 507 T (operation,) 461.6 507 T (while) 513.3 507 T (the) 543.34 507 T 54 651/G3.999711 FmPA 4 10 Q (ExtendedResponse) 108 493 T 2 12 Q (interface) 207.71 493 T (represents) 253.39 493 T (the) 305.75 493 T (result) 324.12 493 T (of) 354.49 493 T (the) 368.2 493 T (extended) 386.57 493 T (operation.) 433.6 493 T (An) 485.63 493 T 4 10 Q (Extended-) 504 493 T (Request) 108 479 T 2 12 Q (or) 152.97 479 T 4 10 Q (ExtendedResponse) 165.94 479 T 2 12 Q (consists) 264.92 479 T (of) 305.89 479 T (an) 318.86 479 T (identifier) 333.17 479 T (that) 380.13 479 T (identifies) 401.11 479 T (the) 448.74 479 T (extended) 466.38 479 T (operation) 512.68 479 T (and a byte array containing the ASN.1 BER encoded contents of the request/response.) 108 465 T (An) 108 445 T (application) 124.96 445 T (typically) 180.59 445 T (does) 224.89 445 T (not) 249.18 445 T (deal) 266.82 445 T (directly) 289.11 445 T (with) 328.07 445 T (the) 351.7 445 T 4 10 Q (ExtendedRequest) 368.66 445 T 2 12 Q (/) 458.66 445 T 4 10 Q (ExtendedResponse) 462 445 T 54 589/G3.999716 FmPA 2 12 Q (interfaces.) 108 431 T (Instead,) 161.12 431 T (it) 202.26 431 T (deals) 212.41 431 T (with) 240.55 431 T (classes) 265.36 431 T (that) 302.17 431 T (implement) 323.64 431 T (these) 378.46 431 T (interfaces.) 406.6 431 T (The) 459.72 431 T (application) 481.86 431 T (gets) 538.67 431 T (these) 108 417 T (classes) 137.13 417 T (either) 174.93 417 T (as) 206.72 417 T (part) 221.19 417 T (of) 244.32 417 T (a) 258.78 417 T (repertoire) 268.58 417 T (of) 319.7 417 T (extended) 334.16 417 T (operations) 381.95 417 T (standardized) 436.42 417 T (through) 501.53 417 T (the) 543.34 417 T (IETF,) 108 403 T (or) 139.55 403 T (from) 152.77 403 T (directory) 179.32 403 T (vendors) 225.87 403 T (for) 267.08 403 T (vendor-specific) 284.3 403 T (extended) 362.16 403 T (operations.) 408.7 403 T (The) 464.92 403 T (request) 486.8 403 T (classes) 524.68 403 T (should) 108 389 T (have) 142.87 389 T (constructors) 168.4 389 T (that) 229.93 389 T (accept) 250.8 389 T (arguments) 284.31 389 T (in) 337.18 389 T (a) 349.38 389 T (type-safe) 357.58 389 T (and) 404.43 389 T (user-friendly) 424.63 389 T (manner,) 489.48 389 T (while) 531.34 389 T (the) 108 375 T (response) 125.54 375 T (classes) 170.41 375 T (should) 206.62 375 T (have) 241.5 375 T (access) 267.04 375 T (methods) 300.57 375 T (for) 344.12 375 T (getting) 360.99 375 T (the) 397.21 375 T (data) 414.75 375 T (of) 437.62 375 T (the) 450.5 375 T (response) 468.05 375 T (in) 512.91 375 T (a) 525.13 375 T (type-) 533.34 375 T (safe) 108 361 T (and) 130.24 361 T (user-friendly) 150.49 361 T (manner.) 215.39 361 T (Internally,) 257.29 361 T (the) 309.87 361 T (request/response) 327.45 361 T (classes) 410.35 361 T (deal) 446.59 361 T (with) 469.51 361 T (encoding) 493.76 361 T (and) 540.67 361 T (decoding BER values.) 108 347 T (For) 108 327 T (example,) 127.29 327 T (suppose) 173.57 327 T (an) 214.86 327 T (LDAP) 228.81 327 T (server) 262.77 327 T (supports) 294.71 327 T (a) 338 327 T (\322get) 345.96 327 T (time\323) 368.57 327 T (extended) 397.86 327 T (operation.) 443.81 327 T (It) 494.76 327 T (would) 504.71 327 T (sup-) 537.34 327 T 54 471/G3.999723 FmPA (ply) 108 313 T (classes) 126.53 313 T (such) 163.05 313 T (as) 188.25 313 T 4 10 Q (GetTimeRequest) 201.44 313 T 2 12 Q (and) 288.64 313 T 4 10 Q (GetTimeResponse) 309.16 313 T 2 12 Q (,) 399.16 313 T (so) 405.36 313 T (that) 419.22 313 T (applications) 440.42 313 T (can) 501.61 313 T (use) 521.47 313 T (this) 540.66 313 T (feature. An application would use these classes as follows:) 108 299 T 4 10 Q (GetTimeResponse resp =) 140.4 280.33 T 54 424/G3.999727 FmPA (\050GetTimeResponse\051lctx.extendedOperation\050new GetTimeRequest\050\051\051;) 165.6 268.33 T 54 412/G3.999728 FmPA (long time = resp.getTime\050\051;) 140.4 256.33 T 54 400/G3.999729 FmPA 3 12 Q (5.4.2) 66 234 T (Controls) 108 234 T 54 378/G3.999282 FmPA 2 F (The) 108 214 T (LDAP) 130.05 214 T (v3) 164.76 214 T (protocol) 180.15 214 T (\050Internet) 223.53 214 T (RFC) 268.23 214 T (2251\051) 294.3 214 T (allows) 325.68 214 T (any) 360.4 214 T (request) 381.11 214 T (or) 419.15 214 T (response) 432.54 214 T (to) 477.91 214 T (be) 490.63 214 T (augmented) 505.34 214 T 54 358/G3.999883 FmPA (by) 108 200 T (yet-to-be) 123.6 200 T (defined) 170.51 200 T (modifiers.) 210.1 200 T (These) 262.69 200 T (modifiers) 294.95 200 T (are) 344.54 200 T (referred) 362.79 200 T (to) 404.35 200 T (as) 417.29 200 T 0 F (controls) 430.88 200 T 2 F (.) 470.22 200 T (Controls) 476.81 200 T (that) 521.75 200 T (are) 543.35 200 T (sent) 108 186 T (with) 130.4 186 T (requests) 154.81 186 T (are) 197.21 186 T (called) 214.93 186 T 0 F (request) 246.66 186 T (controls) 285.07 186 T 2 F (and) 327.47 186 T (those) 347.87 186 T (that) 376.28 186 T (are) 397.35 186 T (sent) 415.08 186 T (with) 437.48 186 T (responses) 461.89 186 T (are) 511.62 186 T (called) 529.34 186 T 0 F (response) 108 172 T (controls) 153.98 172 T 2 F (.) 193.31 172 T (A) 199.63 172 T (control) 211.61 172 T (may) 248.92 172 T (be) 272.9 172 T (defined) 287.54 172 T (by) 326.85 172 T (a) 342.16 172 T (standards) 350.81 172 T (organization) 399.45 172 T (such) 462.75 172 T (as) 488.06 172 T (the) 501.38 172 T (IETF) 519.36 172 T (or) 548 172 T (by) 108 158 T (a) 122.72 158 T (vendor.) 130.77 158 T (There) 169.82 158 T (is) 200.52 158 T (not) 211.25 158 T (necessarily) 229.3 158 T (a) 285.34 158 T (pairing) 293.39 158 T (between) 330.11 158 T (request) 372.81 158 T (controls) 410.19 158 T (and) 451.58 158 T (response) 471.63 158 T (controls.) 516.34 158 T (JNDI classifies request controls into two categories:) 108 138 T 54 282/G3.1000114 FmPA (\245) 115 118 T 0 F (connection) 126 118 T 2 F ( request controls: those that affect how a connection is created) 178.66 118 T 54 262/G3.1000115 FmPA (\245) 115 98 T 0 F (context) 126 98 T 2 F ( request controls: those that affect context methods) 160.66 98 T 54 242/G3.1000116 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.21/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "21" 25 %%Page: "22" 26 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (22) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (Connection) 108 712 T (request) 166.52 712 T (controls) 204.37 712 T (are) 246.22 712 T (used) 264.06 712 T (whenever) 289.24 712 T (a) 339.07 712 T (connection) 347.59 712 T (needs) 403.43 712 T (to) 433.95 712 T (be) 446.47 712 T (established) 460.99 712 T (or) 517.5 712 T (re-es-) 530.69 712 T 54 856/G3.1000117 FmPA (tablished) 108 698 T (with) 154.41 698 T (an) 178.82 698 T (LDAP) 193.23 698 T (server.) 227.64 698 T (Context) 263.03 698 T (request) 304.11 698 T (controls) 341.84 698 T (are) 383.58 698 T (used) 401.31 698 T (when) 426.39 698 T (all) 455.46 698 T (other) 470.53 698 T (LDAP) 498.27 698 T (oper-) 532.68 698 T (ations) 108 684 T (are) 140.02 684 T (sent) 158.03 684 T (to) 180.72 684 T (the) 193.42 684 T (LDAP) 211.44 684 T (server.) 246.13 684 T (The) 281.8 684 T (reason) 303.82 684 T (for) 338.49 684 T (this) 355.84 684 T (distinction) 376.54 684 T (is) 430.57 684 T (because) 441.93 684 T (JNDI) 483.27 684 T (is) 512.62 684 T (a) 523.98 684 T (high-) 532.67 684 T (level) 108 670 T (API) 134.72 670 T (that) 157.45 670 T (does) 178.85 670 T (not) 204.24 670 T (deal) 222.97 670 T (directly) 246.36 670 T (with) 286.41 670 T (connections.) 311.14 670 T (It) 374.86 670 T (is) 385.59 670 T (the) 396.99 670 T (job) 415.05 670 T (of) 433.78 670 T (service) 447.17 670 T (providers) 484.55 670 T (to) 533.27 670 T (do) 546 670 T (any) 108 656 T (necessary) 128.39 656 T (connection) 178.1 656 T (management.) 233.82 656 T (Hence,) 301.2 656 T (a) 337.91 656 T (single) 346.3 656 T (connection) 378.03 656 T (might) 433.75 656 T (be) 464.82 656 T (shared) 479.21 656 T (by) 513.6 656 T (multi-) 528.66 656 T (ple) 108 642 T (context) 125.61 642 T (instances,) 163.88 642 T (and) 213.81 642 T (a) 234.08 642 T (service) 242.35 642 T (provider) 279.28 642 T (is) 322.88 642 T (free) 333.83 642 T (to) 355.42 642 T (use) 367.7 642 T (its) 386.64 642 T (own) 400.92 642 T (algorithms) 424.53 642 T (to) 478.81 642 T (conserve) 491.08 642 T (con-) 536.68 642 T (nection) 108 628 T (and) 148.17 628 T (network) 170.33 628 T (usage.) 214.49 628 T (Thus,) 249.65 628 T (when) 281.49 628 T (a) 312.32 628 T (method) 322.49 628 T (is) 363.33 628 T (invoked) 376.17 628 T (on) 419.67 628 T (the) 436.51 628 T (context) 456.01 628 T (instance,) 496.17 628 T (the) 543.34 628 T (service) 108 614 T (provider) 144.86 614 T (might) 188.39 614 T (need) 219.28 614 T (to) 244.81 614 T (do) 257.02 614 T (some) 271.9 614 T (connection) 300.11 614 T (management) 355.64 614 T (in) 419.83 614 T (addition) 432.05 614 T (to) 474.26 614 T (performing) 486.47 614 T (the) 543.34 614 T (corresponding) 108 600 T (LDAP) 180.06 600 T (operations.) 214.8 600 T (For) 271.2 600 T (connection) 291.27 600 T (management,) 347.33 600 T (it) 415.06 600 T (uses) 425.14 600 T (the) 449.21 600 T (connection) 467.28 600 T (request) 523.34 600 T (controls, while for the normal LDAP operations, it uses the context request controls.) 108 586 T (The) 108 566 T 4 10 Q (LdapContext) 129.66 566 T 2 12 Q ( interface defines methods for dealing with controls:) 195.66 566 T 54 710/G3.999913 FmPA 4 10 Q (public interface LdapContext extends DirContext {) 140.4 547.33 T 54 691/G3.999914 FmPA (public void reconnect\050Control[] connCtls\051 throws NamingException;) 165.6 535.33 T 54 679/G3.999916 FmPA (public Control[] getConnectControls\050\051 throws NamingException;) 165.6 523.33 T 54 667/G3.999943 FmPA (...) 165.6 511.33 T 54 655/G3.999917 FmPA (public LdapContext newInstance\050Control[] reqCtls\051) 165.6 499.33 T 54 643/G3.999948 FmPA (throws NamingException;) 190.8 487.33 T 54 631/G3.999949 FmPA (public void setRequestControls\050Control[] reqCtls\051) 165.6 475.33 T 54 619/G3.999953 FmPA (throws NamingException;) 190.8 463.33 T 54 607/G3.999954 FmPA (public Control[] getRequestControls\050\051 throws NamingException;) 165.6 451.33 T 54 595/G3.999950 FmPA (...) 165.6 439.33 T 54 583/G3.999951 FmPA (public Control[] getResponseControls\050\051 throws NamingException;) 165.6 427.33 T 54 571/G3.999952 FmPA (}) 140.4 415.33 T 54 559/G3.999918 FmPA 2 12 Q (The) 108 396 T 4 10 Q (Control) 129.12 396 T 2 12 Q (interface) 173.58 396 T (represents) 218.01 396 T (a) 269.12 396 T (control.) 276.9 396 T (It) 316.36 396 T (consists) 326.15 396 T (of) 366.61 396 T (an) 379.06 396 T (identifier) 392.85 396 T (that) 439.3 396 T (identifies) 459.76 396 T (the) 506.88 396 T (control) 524 396 T 54 540/G3.1000286 FmPA (and a byte array containing the ASN.1 BER encoded contents of the control.) 108 382 T (Connection) 108 362 T (request) 166.12 362 T (controls) 203.55 362 T (are) 245 362 T (initialized) 262.44 362 T (using) 313.22 362 T (the) 342.01 362 T (initial) 359.45 362 T (context) 390.24 362 T (constructor) 428.36 362 T (and) 485.13 362 T (are) 505.24 362 T (inherit-) 522.67 362 T 54 506/G3.1000152 FmPA (ed) 108 348 T (by) 122.29 348 T (contexts) 137.25 348 T (that) 180.21 348 T (are) 201.17 348 T (derived) 218.78 348 T (from) 257.73 348 T (a) 284.02 348 T (context.) 292.31 348 T 4 10 Q (reconnect\050\051) 333.6 348 T 2 12 Q (is) 402.56 348 T (used) 413.52 348 T (to) 438.48 348 T (change) 450.77 348 T (the) 487.72 348 T (connection) 505.34 348 T (request) 108 334 T (controls) 145.51 334 T (of) 187.03 334 T (a) 199.88 334 T (context.) 208.06 334 T (A) 249.24 334 T (context\325s) 260.76 334 T (connection) 307.6 334 T (request) 363.11 334 T (controls) 400.62 334 T (are) 442.14 334 T (retrieved) 459.64 334 T (using) 505.14 334 T 4 10 Q (get-) 534 334 T (ConnectControls\050\051) 108 320 T 2 12 Q (.) 210 320 T (Context) 108 300 T (request) 148.27 300 T (controls) 185.2 300 T (are) 226.13 300 T (initialized) 243.06 300 T (using) 293.33 300 T 4 10 Q (newInstance\050\051) 321.6 300 T 2 12 Q (and) 401.87 300 T (changed) 421.47 300 T (using) 463.73 300 T 4 10 Q (setRequest-) 492 300 T 54 444/G3.1000010 FmPA (Controls\050\051) 108 286 T 2 12 Q (.) 168 286 T 4 10 Q (newInstance\050\051) 173.44 286 T 2 12 Q (is) 253.88 286 T (a) 264.33 286 T (convenience) 272.1 286 T (method) 334.52 286 T (for) 372.96 286 T (creating) 389.4 286 T (a) 430.49 286 T (new) 438.26 286 T (instance) 460.7 286 T (of) 502.46 286 T (a) 514.9 286 T (context) 522.67 286 T (for) 108 272 T (the) 124.57 272 T (purposes) 141.81 272 T (of) 187.05 272 T (multithreaded) 199.62 272 T (access.) 268.86 272 T (For) 305.08 272 T (example,) 324.33 272 T (if) 370.56 272 T (multiple) 380.47 272 T (threads) 423.06 272 T (want) 460.29 272 T (to) 486.2 272 T (use) 498.11 272 T (different) 516.68 272 T (context) 108 258 T (request) 146.73 258 T (controls,) 184.78 258 T (each) 229.85 258 T (thread) 255.23 258 T (may) 288.61 258 T (use) 312.68 258 T (this) 332.07 258 T (method) 352.81 258 T (to) 392.21 258 T (get) 404.95 258 T (its) 423.01 258 T (own) 437.75 258 T (copy) 461.81 258 T (of) 488.54 258 T (this) 501.93 258 T (context) 522.67 258 T (and set/get context request controls without having to synchronize with other threads.) 108 244 T (Unlike) 108 224 T (connection) 144.53 224 T (request) 201.05 224 T (controls,) 239.58 224 T (context) 285.11 224 T (request) 324.3 224 T (controls) 362.83 224 T (are) 405.36 224 T 0 F (not) 423.88 224 T 2 F (inherited) 443.08 224 T (by) 489.61 224 T (context) 505.47 224 T (in-) 544.67 224 T 54 368/G3.1000195 FmPA (stances) 108 210 T (that) 145.83 210 T (are) 167 210 T (derived) 184.83 210 T (from) 223.99 210 T (a) 250.49 210 T (context.) 259 210 T (Derived) 300.5 210 T (context) 342.32 210 T (instances) 380.83 210 T (are) 427.99 210 T (initialized) 445.82 210 T (with) 496.99 210 T (no) 521.5 210 T (con-) 536.68 210 T (text) 108 196 T (request) 128.79 196 T (controls.) 166.24 196 T (You) 210.69 196 T (must) 234.14 196 T (set) 260.27 196 T (the) 276.4 196 T (request) 293.85 196 T (controls) 331.3 196 T (of) 372.75 196 T (a) 385.54 196 T (derived) 393.65 196 T (context) 432.43 196 T (instance) 470.55 196 T (explicitly) 512.66 196 T (using) 108 182 T 4 10 Q (setRequestControls\050\051) 137.24 182 T 2 12 Q (.) 257.24 182 T (A) 263.48 182 T (context\325s) 275.38 182 T (context) 322.61 182 T (request) 361.18 182 T (controls) 399.08 182 T (are) 440.98 182 T (retrieved) 458.87 182 T (using) 504.76 182 T 4 10 Q (get-) 534 182 T (RequestControls\050\051) 108 168 T 2 12 Q (.) 210 168 T 3 F (5.4.3) 66 145 T (The Initial Context) 108 145 T 54 289/G3.999672 FmPA 2 F (An) 108 125 T (application) 126.67 125 T (that) 184 125 T (is) 206.01 125 T (performing) 218.02 125 T (LDAP) 276.01 125 T (extended) 311.35 125 T (operations) 358.67 125 T (or) 412.67 125 T (controls) 426.67 125 T (can) 469.34 125 T (use) 490 125 T 4 10 Q (Initial-) 510 125 T 54 269/G3.999673 FmPA (LdapContext) 108 111 T 2 12 Q (instead) 184.5 111 T (of) 229 111 T 4 10 Q (javax.naming.InitialContext) 239 111 T 2 12 Q (or) 411.5 111 T 4 10 Q (javax.naming.directo-) 432 111 T (ry.InitialDirContext) 108 97 T 2 12 Q ( to create its initial context:) 228 97 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.22/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "22" 26 %%Page: "23" 27 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Overview of the Interface) 456.08 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (23) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (public class InitialLdapContext) 140.4 713.33 T 54 857/G3.999674 FmPA (extends InitialDirContext implements LdapContext {) 241.2 701.33 T 54 845/G3.999675 FmPA (public InitialDirContext\050\051 ...;) 165.6 689.33 T 54 833/G3.999676 FmPA (public InitialDirContext\050Hashtable env, Control[] connCtls\051 ...;) 165.6 677.33 T 54 821/G3.999677 FmPA (}) 140.4 665.33 T 54 809/G3.999678 FmPA 2 12 Q (It) 108 646 T (can) 118.05 646 T (then) 137.42 646 T (invoke) 160.81 646 T (any) 196.19 646 T (method) 216.23 646 T (in) 254.95 646 T (the) 267.01 646 T 4 10 Q (Context) 284.39 646 T 2 12 Q (,) 326.39 646 T 4 10 Q (DirContext) 332.11 646 T 2 12 Q (,) 392.11 646 T (or) 397.82 646 T 4 10 Q (LdapContext) 410.54 646 T 2 12 Q (interfaces) 479.26 646 T (on) 528.62 646 T (the) 543.34 646 T 54 790/G3.999679 FmPA (initial) 108 632 T (context.) 138.73 632 T (By) 179.78 632 T (using) 196.51 632 T (the) 225.23 632 T (constructor) 242.62 632 T (that) 299.33 632 T (accepts) 320.05 632 T (a) 358.09 632 T 4 10 Q (connCtls) 366.14 632 T 2 12 Q (argument,) 416.86 632 T (the) 467.91 632 T (application) 485.29 632 T (can) 541.34 632 T (specify controls to be used when establishing a connection with the LDAP server.) 108 618 T 3 F (5.4.4) 66 595 T (Unsolicited Notifications) 108 595 T 54 739/G3.1000295 FmPA 2 F (In) 108 575 T (addition) 121.67 575 T (to) 164.68 575 T (the) 177.69 575 T (normal) 196.02 575 T (request/response) 233.69 575 T (style) 317.35 575 T (of) 343.69 575 T (interaction) 357.36 575 T (between) 412.35 575 T (the) 456.01 575 T (client) 474.35 575 T (and) 504.68 575 T (server,) 525.68 575 T 54 719/G3.1000293 FmPA (the) 108 561 T (LDAP) 125.22 561 T (v3) 159.11 561 T (protocol) 173.67 561 T (also) 216.23 561 T (specifies) 238.12 561 T 0 F (unsolicited) 282.67 561 T (notifications) 337.89 561 T 2 F (\321messages) 397.9 561 T (that) 457.79 561 T (are) 478.35 561 T (sent) 495.56 561 T (from) 517.45 561 T (the) 543.34 561 T (server to the client asynchronously, not in response to any client request.) 108 547 T (JNDI) 108 527 T (supports) 137.87 527 T (unsolicited) 182.42 527 T (notifications) 238.97 527 T (using) 302.85 527 T (the) 332.73 527 T (event) 351.28 527 T (model) 381.15 527 T (embodied) 415.03 527 T (in) 466.24 527 T (the) 479.45 527 T 4 10 Q (javax.nam-) 498 527 T 54 671/G3.1000308 FmPA (ing.event) 108 513 T 2 12 Q (package.) 165.23 513 T (It) 210.77 513 T (defines) 221.34 513 T (an) 259.22 513 T 4 10 Q (UnsolicitedNotificationEvent) 273.78 513 T 2 12 Q (class) 445.01 513 T (and) 471.57 513 T (a) 492.13 513 T (correspond-) 500.69 513 T (ing) 108 499 T 4 10 Q (UnsolicitedNotificationListener) 130.63 499 T 2 12 Q (interface.) 323.92 499 T (An) 376.2 499 T (application) 398.15 499 T (registers) 458.77 499 T (to) 506.73 499 T (receive) 523.36 499 T 4 10 Q (UnsolicitedNotificationEvent) 108 485 T 2 12 Q (s) 276 485 T (by) 282.93 485 T (supplying) 297.2 485 T (an) 346.8 485 T 4 10 Q (UnsolicitedNotificationListener) 360.4 485 T 2 12 Q (to) 548.66 485 T 4 10 Q (EventContext.addNamingListener\050\051) 108 471 T 2 12 Q (.) 300 471 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.23/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "23" 27 %%Page: "24" 28 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Configuration) 501.32 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (24) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (6) 81 708 T (Configuration) 108 708 T 54 852/G3.999222 FmPA 3 14 Q (6.1) 72.5 678.67 T (Environment Properties) 108 678.67 T 54 823/G3.1000620 FmPA 2 12 Q (Some) 108 658 T (JNDI) 138.18 658 T (applications) 167.01 658 T (need) 227.85 658 T (a) 253.34 658 T (way) 261.51 658 T (to) 284.35 658 T (communicate) 296.52 658 T (various) 364.02 658 T (preferences) 402.19 658 T (and) 460.33 658 T (information) 480.49 658 T (that) 540 658 T 54 802/G3.1000615 FmPA (define) 108 644 T (the) 141.02 644 T (environment) 158.72 644 T (in) 222.41 644 T (which) 234.79 644 T (naming) 267.15 644 T (and) 306.18 644 T (directory) 326.54 644 T (services) 372.9 644 T (are) 414.58 644 T (accessed.) 432.27 644 T (For) 480.28 644 T (example,) 499.98 644 T (an) 546.67 644 T (application) 108 630 T (might) 165.24 630 T (need) 197.16 630 T (to) 223.73 630 T (specify) 236.98 630 T (the) 275.54 630 T (level) 294.12 630 T (of) 321.36 630 T (security) 335.27 630 T (for) 377.17 630 T (accessing) 395.08 630 T (a) 444.97 630 T (directory) 454.21 630 T (service.) 501.44 630 T (Or,) 542.34 630 T (when) 108 616 T (directory) 137.16 616 T (and) 183.66 616 T (naming) 204.16 616 T (services) 243.33 616 T (are) 285.15 616 T (distributed,) 302.98 616 T (the) 360.49 616 T (source) 378.32 616 T (of) 412.81 616 T (information) 425.98 616 T (is) 485.82 616 T (in) 496.99 616 T (more) 509.5 616 T (than) 537.34 616 T (one) 108 602 T (place\321replicas,) 127.72 602 T (master,) 207.76 602 T (caches,) 245.15 602 T 0 F (etc.) 282.53 602 T 2 F (An) 301.92 602 T (application) 318.98 602 T (might) 374.7 602 T (want) 405.11 602 T (to) 430.83 602 T (access) 442.57 602 T (information) 475.61 602 T (from) 534.67 602 T (the authoritative source and needs to indicate this information to the JNDI system.) 108 588 T (To) 108 568 T (address) 124.24 568 T (these) 163.13 568 T (requirements,) 190.7 568 T (JNDI) 259.26 568 T (defines) 288.15 568 T (a) 325.71 568 T (number) 333.95 568 T (of) 373.51 568 T (properties) 386.42 568 T (that) 437.31 568 T (developers) 458.22 568 T (and) 513.11 568 T (users) 533.34 568 T 54 712/G3.1000636 FmPA (can) 108 554 T (use) 127.1 554 T (to) 145.54 554 T (provide) 157.32 554 T (configuration) 196.42 554 T (information) 263.52 554 T (to) 322.62 554 T (the) 334.4 554 T (JNDI) 351.51 554 T (system.) 379.94 554 T (These) 418.72 554 T (are) 449.82 554 T (called) 466.91 554 T 0 F (environment) 498.01 554 T (properties) 108 540 T 2 F (.) 157.33 540 T (There are different types of environment properties:) 108 520 T 54 664/G3.1000784 FmPA (\245) 115 500 T (Standard) 126 500 T (JNDI) 171.97 500 T (environment) 201.28 500 T (properties.) 265.25 500 T (These) 319.55 500 T (properties) 351.52 500 T (are) 402.82 500 T (defined) 420.79 500 T (by) 460.09 500 T (JNDI) 475.4 500 T (and) 504.71 500 T (are) 525.35 500 T 54 644/G3.1000776 FmPA (common) 126 486 T (across) 171.01 486 T (all) 204 486 T (service) 219.01 486 T (providers.) 256 486 T (They) 307.34 486 T (are) 335 486 T (defined) 352.66 486 T (in) 391.66 486 T (relatively) 404 486 T (generic) 452.34 486 T (terms.) 490.66 486 T (For) 523.33 486 T (example,) 126 472 T (the) 173.22 472 T (property) 191.45 472 T (\322java.naming.security.principal\323) 235.67 472 T (is) 395.53 472 T (used) 407.1 472 T (to) 432.66 472 T (specify) 445.56 472 T (the) 483.78 472 T (security) 502.01 472 T (principal) 126 458 T (for) 172.97 458 T (authentication) 191.27 458 T (to) 263.56 458 T (the) 277.21 458 T (naming) 296.18 458 T (service.) 336.48 458 T (Individual) 377.78 458 T (service) 431.41 458 T (providers) 469.7 458 T (map) 519.34 458 T (these) 126 444 T (environment) 154.57 444 T (properties) 219.14 444 T (to) 271.04 444 T (an) 284.28 444 T (interpretation) 299.52 444 T (appropriate) 368.09 444 T (for) 426.64 444 T (their) 444.55 444 T (service.) 470.45 444 T (These) 511.34 444 T (properties) 126 430 T (have) 176.63 430 T (the) 201.94 430 T (prefix) 219.25 430 T (\322java.naming.\323.) 250.55 430 T (Appendix) 328.84 430 T (A) 378.82 430 T (contains) 390.13 430 T (a) 432.77 430 T (list) 440.74 430 T (of) 458.06 430 T (standard) 470.71 430 T (JNDI) 514.01 430 T (environment) 126 416 T (properties.) 191.5 416 T (The) 247.33 416 T 4 10 Q (Context) 270.83 416 T 2 12 Q (interface) 317.67 416 T (defines) 364.49 416 T (constants) 403.98 416 T (for) 453.49 416 T (most) 472.32 416 T (of) 500.5 416 T (these) 515.34 416 T (environment property names.) 126 402 T (\245) 115 382 T (Service-specific) 126 382 T (environment) 209.52 382 T (properties.) 276.4 382 T (These) 333.61 382 T (properties) 368.49 382 T (are) 422.7 382 T (common) 443.57 382 T (across) 491.79 382 T (all) 528 382 T 54 526/G3.1000777 FmPA (service) 126 368 T (providers) 163.02 368 T (that) 211.38 368 T (implement) 232.42 368 T (a) 286.79 368 T (particular) 295.15 368 T (service) 344.17 368 T (or) 381.19 368 T (protocol.) 394.22 368 T (They) 440.26 368 T (have) 467.95 368 T (the) 493.64 368 T (prefix) 511.34 368 T (\322java.naming.) 126 354 T 0 F (service.) 193.32 354 T 2 F (\323,) 230.3 354 T (where) 243.43 354 T 0 F (service) 277.54 354 T 2 F (is) 316.33 354 T (the) 329.13 354 T (name) 348.59 354 T (of) 379.38 354 T (the) 394.17 354 T (service.) 413.63 354 T (For) 455.42 354 T (example,) 476.88 354 T (the) 525.34 354 T (prefix \322java.naming.ldap.\323 is used for LDAP-specific environment properties.) 126 340 T (\245) 115 320 T (Feature-specific) 126 320 T (environment) 209.52 320 T (properties.) 276.4 320 T (These) 333.61 320 T (properties) 368.49 320 T (are) 422.7 320 T (common) 443.57 320 T (across) 491.79 320 T (all) 528 320 T 54 464/G3.1000728 FmPA (service) 126 306 T (providers) 170.23 306 T (that) 225.79 306 T (support) 254.04 306 T (a) 300.28 306 T (particular) 315.85 306 T (feature.) 372.08 306 T (They) 418.63 306 T (have) 453.54 306 T (the) 486.44 306 T (prefix) 511.34 306 T (\322java.naming.) 126 292 T 0 F (feature) 193.32 292 T 2 F (.\323,) 227.32 292 T (where) 243.5 292 T 0 F (feature) 277.67 292 T 2 F (is) 316.53 292 T (the) 329.39 292 T (name) 348.91 292 T (of) 379.76 292 T (the) 394.61 292 T (feature.) 414.13 292 T (For) 455.3 292 T (example,) 476.82 292 T (the) 525.34 292 T (prefix \322java.naming.security.sasl.\323 is used for SASL-specific environment properties.) 126 278 T (\245) 115 258 T (Provider-specific) 126 258 T (environment) 212.47 258 T (properties.) 276.95 258 T (These) 331.76 258 T (properties) 364.24 258 T (only) 416.06 258 T (apply) 441.22 258 T (to) 471.7 258 T (a) 484.86 258 T (particular) 494.02 258 T 54 402/G3.1000656 FmPA (service) 126 244 T (provider.) 163.77 244 T (They) 211.21 244 T (should) 239.65 244 T (have) 275.44 244 T (a) 301.88 244 T (prefix) 310.99 244 T (that) 343.43 244 T (reflects) 365.22 244 T (this) 404.32 244 T (uniqueness.) 425.44 244 T (A) 485.55 244 T (common) 498 244 T (practice) 126 230 T (is) 167.1 230 T (to) 178.22 230 T (use) 190.68 230 T (the) 209.79 230 T (package) 227.57 230 T (name) 270 230 T (of) 299.11 230 T (the) 312.23 230 T (service) 330.01 230 T (provider) 367.11 230 T (as) 410.89 230 T (the) 424 230 T (prefix.) 441.78 230 T (For) 476.56 230 T (example,) 496.34 230 T (since) 126 216 T (Sun\325s) 164.81 216 T (LDAP) 206.3 216 T (provider) 251.79 216 T (is) 306.6 216 T (primarily) 328.75 216 T (contained) 387.57 216 T (in) 448.38 216 T (the) 471.87 216 T (package) 500.69 216 T 4 10 Q (com.sun.jndi.ldap) 126 202 T 2 12 Q (,) 228 202 T (properties) 236.45 202 T (specific) 289.89 202 T (to) 332.66 202 T (Sun\325s) 347.45 202 T (LDAP) 380.23 202 T (provider) 417.02 202 T (have) 463.12 202 T (the) 491.23 202 T (prefix) 511.34 202 T (\322com.sun.jndi.ldap.\323.) 126 188 T (See Section 8.5 for security-related considerations when using environment properties.) 108 168 T 54 312/G3.1000971 FmPA (Although) 108 148 T (the) 156.03 148 T (support) 173.39 148 T (for) 212.08 148 T (environment) 228.76 148 T (properties) 292.12 148 T (is) 342.8 148 T (rather) 353.5 148 T (extensive,) 384.17 148 T (it) 435.19 148 T (is) 444.55 148 T (important) 455.25 148 T (to) 504.61 148 T (note) 516.64 148 T (that) 540 148 T 54 292/G3.1000787 FmPA (an) 108 134 T (application) 121.88 134 T (typically) 177.76 134 T (does) 222.31 134 T (need) 246.86 134 T (to) 272.07 134 T (deal) 283.96 134 T (with) 306.5 134 T (them,) 330.39 134 T (or) 359.94 134 T (only) 372.49 134 T (needs) 396.38 134 T (to) 426.26 134 T (set) 438.15 134 T (one) 454.03 134 T (or) 473.91 134 T (two) 486.46 134 T (properties.) 507.01 134 T (Most) 108 120 T (properties) 135.06 120 T (have) 185.43 120 T (reasonable) 210.48 120 T (defaults) 264.18 120 T (and) 304.56 120 T (only) 324.27 120 T (need) 347.99 120 T (to) 373.04 120 T (be) 384.76 120 T (adjusted) 398.48 120 T (when) 440.86 120 T (the) 469.24 120 T (application) 486.29 120 T (has) 542 120 T (special requirements.) 108 106 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.24/DEST FmPD2 108 864/M3.9.30460.chapter.6.Configuration FmPA 108 864/I3.1.1001311 FmPA [/Rect[130 164 185 177]/Border[0 0 0]/Page 38/View[/XYZ null 108 512 FmDC exch pop null]/LNK FmPD [/Rect[330 426 389 439]/Border[0 0 0]/Dest/M9.26369.appendix.Appendix.C.Environment.Properties/Action/GoToR/File(appendix-properties.pdf)/LNK FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "24" 28 %%Page: "25" 29 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Configuration) 501.32 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (25) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (6.2) 72.5 710.67 T (Context Environment) 108 710.67 T 54 855/G3.1000954 FmPA 2 12 Q (A) 108 690 T (context\325s) 120.45 690 T (environment) 168.22 690 T (is) 232.66 690 T (represented) 244.45 690 T (as) 303.54 690 T (a) 317.32 690 T 4 10 Q (java.util.Hashtable) 326.43 690 T 2 12 Q (or) 444.22 690 T (any) 457.99 690 T (of) 479.11 690 T (its) 492.89 690 T (subclasses) 508.01 690 T 54 834/G3.1000922 FmPA (\050e.g.,) 108 672.8 T 4 10 Q (java.util.Properties) 135.83 672.8 T 2 9.6 Q (1) 255.83 677.6 T 2 12 Q (\051.) 260.63 672.8 T (It) 271.13 672.8 T (is) 281.97 672.8 T (typically) 293.48 672.8 T (specified) 338.99 672.8 T (using) 385.81 672.8 T (an) 415.32 672.8 T (argument) 430.16 672.8 T (to) 478.99 672.8 T (the) 491.83 672.8 T 4 10 Q (Initial-) 510 672.8 T (Context) 108 658.8 T 2 12 Q (,) 150 658.8 T 4 10 Q (InitialDirContext) 157.15 658.8 T 2 12 Q (,) 259.15 658.8 T (or) 266.29 658.8 T 4 10 Q (InitialLdapContext) 280.44 658.8 T 2 12 Q (constructors,) 392.58 658.8 T (and) 458.39 658.8 T (augmented) 479.86 658.8 T (with) 536.66 658.8 T (data) 108 644.8 T (from) 131.52 644.8 T (other) 158.37 644.8 T (sources) 186.56 644.8 T (\050as) 226.07 644.8 T (discussed) 243.59 644.8 T (in) 293.11 644.8 T (the) 305.98 644.8 T (rest) 324.17 644.8 T (of) 345.02 644.8 T (this) 358.55 644.8 T (section\051.) 379.41 644.8 T (They) 423.93 644.8 T (are) 452.12 644.8 T (inherited) 470.3 644.8 T (from) 516.48 644.8 T (the) 543.34 644.8 T (parent) 108 630.8 T (context) 140.97 630.8 T (as) 179.28 630.8 T (context) 192.26 630.8 T (methods) 230.57 630.8 T (proceed) 274.22 630.8 T (from) 315.19 630.8 T (one) 341.5 630.8 T (context) 361.81 630.8 T (to) 400.12 630.8 T (the) 412.44 630.8 T (next.) 430.09 630.8 T (For) 456.73 630.8 T (example,) 476.39 630.8 T (the) 523.02 630.8 T (fol-) 540.67 630.8 T (lowing) 108 616.8 T (code) 144.86 616.8 T (creates) 171.04 616.8 T (an) 207.88 616.8 T (environment) 222.73 616.8 T (consisting) 286.92 616.8 T (of) 339.11 616.8 T (two) 352.63 616.8 T (security-related) 374.16 616.8 T (properties) 452.32 616.8 T (and) 503.83 616.8 T (creates) 524.69 616.8 T (an initial context using that environment.) 108 602.8 T 4 10 Q (Hashtable env = new Hashtable\050\051;) 140.4 584.13 T 54 728/G3.1000926 FmPA (env.put\050Context.SECURITY_PRINCIPAL, "jsmith"\051;) 140.4 572.13 T 54 716/G3.1000927 FmPA (env.put\050Context.SECURITY_CREDENTIALS, "xxxxxxx"\051;) 140.4 560.13 T 54 704/G3.1000928 FmPA (Context ctx = new InitialContext\050env\051;) 140.4 548.13 T 54 692/G3.1000929 FmPA 2 12 Q (Contexts) 108 528.8 T (that) 153.96 528.8 T (are) 175.26 528.8 T (looked) 193.2 528.8 T (up) 229.16 528.8 T (or) 244.45 528.8 T (otherwise) 257.74 528.8 T (derived) 307.68 528.8 T (from) 346.96 528.8 T (this) 373.58 528.8 T (initial) 394.22 528.8 T (context) 425.52 528.8 T (will) 464.14 528.8 T (have) 486.1 528.8 T (these) 512.05 528.8 T (two) 540 528.8 T 54 673/G3.1001069 FmPA (properties in their environment.) 108 514.8 T (A context\325s environment can be examined using) 108 494.8 T 4 10 Q (Context.getEnvironment\050\051) 342.96 494.8 T 2 12 Q (.) 486.96 494.8 T 54 639/G3.1001723 FmPA (Not) 108 474.8 T (all) 129.52 474.8 T (environment) 145.04 474.8 T (properties) 209.21 474.8 T (are) 260.72 474.8 T (meaningful) 278.89 474.8 T (to) 337.07 474.8 T (all) 349.92 474.8 T (contexts.) 365.44 474.8 T (Those) 411.95 474.8 T (that) 444.8 474.8 T (are) 466.32 474.8 T (not) 484.49 474.8 T (meaningful) 503.34 474.8 T 54 619/G3.1001213 FmPA (are) 108 460.8 T (ignored) 125.75 460.8 T (by) 165.51 460.8 T (the) 180.62 460.8 T (context) 198.38 460.8 T (but) 236.81 460.8 T (inherited) 255.25 460.8 T (by) 301.01 460.8 T (derived) 316.11 460.8 T (contexts) 355.2 460.8 T (\050because) 398.3 460.8 T (they) 443.37 460.8 T (might) 467.14 460.8 T (be) 498.25 460.8 T (meaning-) 512.68 460.8 T (ful, for instance, to federated contexts\051.) 108 446.8 T 3 14 Q (6.3) 72.5 419.47 T (Resource Files) 108 419.47 T 54 563/G3.1000880 FmPA 2 12 Q (A) 108 398.8 T (JNDI) 119.84 398.8 T (resource) 149 398.8 T (file) 192.82 398.8 T (is) 211.99 398.8 T (a) 223.17 398.8 T (file) 231.67 398.8 T (in) 250.84 398.8 T (the) 263.35 398.8 T (properties) 281.18 398.8 T (file) 332.34 398.8 T (format) 351.51 398.8 T (\050see) 386.68 398.8 T 4 10 Q (java.util.Properties) 409.17 398.8 T 2 12 Q (\051.) 529.17 398.8 T (The) 539.34 398.8 T 54 543/G3.1000881 FmPA (file) 108 384.8 T (contains) 127.98 384.8 T (a) 171.96 384.8 T (list) 181.27 384.8 T (of) 199.93 384.8 T (key/value) 213.92 384.8 T (pairs.) 264.56 384.8 T (The) 294.87 384.8 T (key) 317.51 384.8 T (is) 338.83 384.8 T (the) 350.82 384.8 T (name) 369.46 384.8 T (of) 399.44 384.8 T (the) 413.42 384.8 T (property) 432.07 384.8 T (\050e.g.,) 476.71 384.8 T (\322java.nam-) 505.02 384.8 T (ing.factory.object\323\051) 108 370.8 T (and) 204.92 370.8 T (the) 225.19 370.8 T (value) 242.79 370.8 T (is) 271.73 370.8 T (a) 282.68 370.8 T (string) 290.95 370.8 T (in) 321.23 370.8 T (the) 333.51 370.8 T (format) 351.12 370.8 T (defined) 386.05 370.8 T (for) 424.98 370.8 T (that) 441.92 370.8 T (property.) 462.86 370.8 T (Here) 509.46 370.8 T (is) 535.72 370.8 T (an) 546.67 370.8 T (example of a JNDI resource file:) 108 356.8 T 4 9 Q (java.naming.factory.object=com.wiz.jndi.AttrsToCorba:com.wiz.jndi.ToPerson) 140.4 338.8 T 54 483/G3.1000372 FmPA (java.naming.factory.state=com.wiz.jndi.CorbaToAttrs:com.wiz.jndi.FromPerson) 140.4 327.8 T 54 472/G3.1000373 FmPA (java.naming.factory.control=com.wiz.jndi.MyResponseControlFactory) 140.4 316.8 T 54 461/G3.1000374 FmPA 2 12 Q (There are two kinds of JNDI resource files: application and provider.) 108 297.8 T 54 442/G3.1000376 FmPA 3 F (6.3.1) 66 274.8 T (Application Resource Files) 108 274.8 T 54 419/G3.1000408 FmPA 2 F (When) 108 254.8 T (an) 139.51 254.8 T (application) 153.69 254.8 T (is) 209.87 254.8 T (deployed,) 220.73 254.8 T (it) 270.57 254.8 T (will) 280.1 254.8 T (generally) 301.62 254.8 T (have) 349.13 254.8 T (several) 374.64 254.8 T (codebase) 411.48 254.8 T (directories) 458.31 254.8 T (and) 511.82 254.8 T (JARs) 532 254.8 T 54 399/G3.1000410 FmPA (in) 108 240.8 T (its) 121.23 240.8 T (classpath.) 136.46 240.8 T (Similarly,) 187.35 240.8 T (when) 238.91 240.8 T (an) 268.8 240.8 T (applet) 284.02 240.8 T (is) 317.24 240.8 T (deployed,) 329.14 240.8 T (it) 380.02 240.8 T (will) 390.59 240.8 T (have) 413.15 240.8 T (a) 439.7 240.8 T (codebase) 448.92 240.8 T (and) 496.8 240.8 T (archives) 518.02 240.8 T (specifying) 108 226.8 T (where) 160.69 226.8 T (to) 192.71 226.8 T (find) 204.74 226.8 T (the) 226.78 226.8 T (applet\325s) 244.14 226.8 T (classes.) 284.83 226.8 T (JNDI) 323.86 226.8 T (locates) 352.55 226.8 T (all) 388.57 226.8 T (application) 403.27 226.8 T (resource) 459.3 226.8 T (files) 502.64 226.8 T (named) 526.01 226.8 T 4 10 Q (jndi.properties) 108 212.8 T 2 12 Q (in) 202.08 212.8 T (the) 215.49 212.8 T (classpath.) 234.23 212.8 T (In) 285.3 212.8 T (addition,) 299.37 212.8 T (if) 345.78 212.8 T (the) 357.19 212.8 T (file) 375.93 212.8 T 4 10 Q ($JAVA_HOME/lib/jndi.proper-) 396 212.8 T (ties) 108 198.8 T 2 12 Q (exists) 138.83 198.8 T (and) 172.99 198.8 T (is) 197.14 198.8 T (readable,) 211.97 198.8 T (JNDI) 262.44 198.8 T (treats) 295.26 198.8 T (it) 328.08 198.8 T (as) 341.58 198.8 T (an) 358.4 198.8 T (additional) 376.55 198.8 T (application) 431.38 198.8 T (resource) 491.53 198.8 T (file.) 539 198.8 T (\050) 108 184.8 T 4 10 Q ($JAVA_HOME) 112 184.8 T 2 12 Q (is) 174.95 184.8 T (the) 185.91 184.8 T (directory) 203.52 184.8 T (named) 249.8 184.8 T (by) 284.74 184.8 T (the) 299.69 184.8 T 4 10 Q (java.home) 317.31 184.8 T 2 12 Q (system) 374.26 184.8 T (property.\051) 410.55 184.8 T (All) 461.16 184.8 T (of) 479.45 184.8 T (the) 492.39 184.8 T (properties) 510.01 184.8 T (contained) 108 170.8 T (in) 157.21 170.8 T (these) 169.1 170.8 T (files) 196.31 170.8 T (are) 219.52 170.8 T (placed) 236.73 170.8 T (into) 270.6 170.8 T (the) 291.82 170.8 T (environment) 309.04 170.8 T (of) 372.25 170.8 T (the) 384.8 170.8 T (initial) 402.01 170.8 T (context.) 432.57 170.8 T (This) 473.45 170.8 T (environment) 497.34 170.8 T (is then inherited by other contexts.) 108 156.8 T 54 108 558 122.98 C 0 0 0 1 0 0 0 1 K 54 108 558 122.98 R 7 X V 63 120.96 207 120.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 101.33 T (Note that if you use) 84 101.33 T 4 9 Q (Properties) 165.38 101.33 T 2 10 Q (, only the top-le) 219.38 101.33 T (v) 282.46 101.33 T (el properties are consulted\321its def) 287.31 101.33 T (aults are not consulted\321) 427.18 101.33 T 54 245/G3.1000925 FmPA (because) 84 89.33 T 4 9 Q (Hashtable.get\050\051) 118.15 89.33 T 2 10 Q ( is used when retrie) 199.15 89.33 T (ving entries from the en) 276.66 89.33 T (vironment. See) 371.8 89.33 T 4 9 Q (java.util.Proper-) 434.85 89.33 T (ties) 84 77.33 T 2 10 Q ( for details.) 105.6 77.33 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.25/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "25" 29 %%Page: "26" 30 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Configuration) 501.32 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (26) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (For) 108 712 T (each) 128.07 712 T (property) 153.46 712 T (found) 197.53 712 T (in) 228.93 712 T (more) 241.67 712 T (than) 269.74 712 T (one) 293.81 712 T (application) 314.54 712 T (resource) 371.28 712 T (file,) 415.33 712 T (JNDI) 437.73 712 T (uses) 467.13 712 T (the) 491.2 712 T (first) 509.27 712 T (value) 532.01 712 T 54 856/G3.1000418 FmPA (found) 108 698 T (or,) 139.6 698 T (in) 156.2 698 T (a) 169.13 698 T (few) 178.06 698 T (cases) 199.65 698 T (where) 228.57 698 T (it) 261.49 698 T (makes) 271.76 698 T (sense) 306.02 698 T (to) 335.62 698 T (do) 348.55 698 T (so,) 364.15 698 T (it) 381.42 698 T (concatenates) 391.7 698 T (all) 456.61 698 T (of) 472.21 698 T (the) 485.8 698 T (values.) 504.07 698 T (For) 541.33 698 T (example,) 108 684 T (if) 154.81 684 T (the) 165.29 684 T 4 10 Q (java.naming.factory.object) 183.11 684 T 2 12 Q (property) 342.26 684 T (is) 386.07 684 T (found) 397.22 684 T (in) 428.37 684 T (three) 440.86 684 T 4 10 Q (jndi.properties) 468 684 T 2 12 Q (resource) 108 670 T (files,) 151.17 670 T (the) 177.36 670 T (list) 194.55 670 T (of) 211.76 670 T (object) 224.28 670 T (factories) 256.14 670 T (is) 299.98 670 T (a) 310.51 670 T (concatenation) 318.37 670 T (of) 387.54 670 T (the) 400.07 670 T (property) 417.26 670 T (values) 460.44 670 T (from) 493.63 670 T (all) 519.48 670 T (three) 534.01 670 T (files.) 108 656 T (Using) 134.18 656 T (this) 165.37 656 T (scheme,) 185.22 656 T (each) 226.73 656 T (deployable) 251.23 656 T (component) 306.4 656 T (is) 362.25 656 T (responsible) 372.77 656 T (for) 429.95 656 T (listing) 446.46 656 T (the) 478.98 656 T (factories) 496.17 656 T (that) 540 656 T (it) 108 642 T (exports.) 117.19 642 T (JNDI) 158.03 642 T (automatically) 186.54 642 T (collects) 254.39 642 T (and) 293.56 642 T (uses) 313.41 642 T (all) 336.59 642 T (of) 351.11 642 T (these) 363.62 642 T (export) 390.8 642 T (lists) 423.97 642 T (when) 445.83 642 T (searching) 474.34 642 T (for) 522.84 642 T (fac-) 539.35 642 T (tory classes.) 108 628 T (Application) 108 608 T (resource) 167.36 608 T (files) 210.7 608 T (are) 234.06 608 T (available) 251.41 608 T (beginning) 297.43 608 T (with) 348.12 608 T (the) 372.16 608 T (Java) 389.52 608 T (2) 413.54 608 T (Platform,) 422.23 608 T (except) 469.93 608 T (that) 503.95 608 T (the) 524.64 608 T (file) 542 608 T 54 752/G3.1000425 FmPA (in) 108 594 T 4 10 Q ($JAVA_HOME/lib) 120.34 594 T 2 12 Q ( can be used on all Java platforms.) 204.34 594 T 3 F (6.3.2) 66 571 T (Provider Resource Files) 108 571 T 54 715/G3.1001731 FmPA 2 F (Each) 108 551 T (service) 134.66 551 T (provider) 171.32 551 T (has) 214.65 551 T (an) 233.32 551 T (optional) 247.32 551 T (resource) 289.33 551 T (file) 332.65 551 T (that) 351.32 551 T (contains) 372 551 T (properties) 414.67 551 T (specific) 465.33 551 T (to) 505.32 551 T (that) 517.33 551 T (pro-) 538.01 551 T 54 695/G3.1001732 FmPA (vider. The name of this resource is:) 108 537 T 4 10 Q ([) 140.4 518.33 T 8 F (prefix/) 146.4 518.33 T 4 F (]jndiprovider.properties) 188.4 518.33 T 54 662/G3.1001733 FmPA 2 12 Q (where) 108 499 T 0 F (prefix) 139.66 499 T 2 F (is) 169.99 499 T (the) 180.34 499 T (package) 197.34 499 T (name) 239 499 T (of) 267.33 499 T (the) 279.67 499 T (provider\325s) 296.67 499 T (context) 348.33 499 T (implementation\050s\051,) 386 499 T (with) 479.34 499 T (each) 503.02 499 T (period) 527.34 499 T 54 643/G3.1001734 FmPA (\050\322.\323\051 converted to a slash \050\322/\323\051.) 108 485 T (The) 108 465 T (JNDI) 129.24 465 T (library) 157.81 465 T (will) 192.38 465 T (consult) 213.63 465 T (the) 250.88 465 T (provider) 268.12 465 T (resource) 311.35 465 T (file) 354.57 465 T (when) 373.15 465 T (determining) 401.72 465 T (the) 462.29 465 T (values) 479.54 465 T (of) 512.77 465 T (certain) 525.35 465 T 54 609/G3.1002071 FmPA (properties.) 108 451 T (Properties) 162.13 451 T (other) 213.93 451 T (than) 241.73 451 T (these) 265.53 451 T (can) 293.33 451 T (be) 313.13 451 T (set) 327.6 451 T (in) 344.07 451 T (the) 356.54 451 T (provider) 374.35 451 T (resource) 418.14 451 T (file) 461.93 451 T (at) 481.06 451 T (the) 492.87 451 T (discretion) 510.67 451 T (of) 108 437 T (the) 120.7 437 T (service) 138.07 437 T (provider.) 174.75 437 T (The) 221.11 437 T (service) 242.48 437 T (provider\325s) 279.16 437 T (documentation) 331.18 437 T (should) 405.22 437 T (clearly) 439.92 437 T (state) 475.28 437 T (which) 499.98 437 T (prop-) 532.01 437 T (erties are allowed.) 108 423 T 3 14 Q (6.4) 72.5 395.67 T (Application/Applet-scope Standard JNDI Properties) 108 395.67 T 54 540/G3.1001754 FmPA 2 12 Q (Certain) 108 375 T (standard) 145.82 375 T (JNDI) 188.97 375 T (properties) 217.46 375 T (can) 267.94 375 T (alternately) 287.09 375 T (be) 340.24 375 T (set) 354.06 375 T (in) 369.89 375 T (the) 381.71 375 T (Java) 398.87 375 T (runtime\325s) 422.69 375 T (system) 471.18 375 T (properties,) 507.01 375 T 54 519/G3.1001757 FmPA (or in an applet\325s parameter list. These properties are:) 108 361 T 4 10 Q (java.naming.factory.initial) 140.4 342.33 T 54 486/G3.1001758 FmPA (java.naming.factory.object) 140.4 330.33 T 54 474/G3.1001759 FmPA (java.naming.factory.state) 140.4 318.33 T 54 462/G3.1001760 FmPA (java.naming.factory.control) 140.4 306.33 T 54 450/G3.1001761 FmPA (java.naming.factory.url.pkgs) 140.4 294.33 T 54 438/G3.1001762 FmPA (java.naming.provider.url) 140.4 282.33 T 54 426/G3.1001763 FmPA (java.naming.dns.url) 140.4 270.33 T 54 414/G3.1001764 FmPA 2 12 Q (For) 108 251 T (JNDI) 127.47 251 T (to) 156.26 251 T (access) 168.4 251 T (an) 201.85 251 T (applet\325s) 215.98 251 T (parameters,) 256.77 251 T (the) 315.21 251 T (applet) 332.68 251 T (code) 364.8 251 T (must) 390.26 251 T (set) 416.4 251 T (the) 432.54 251 T 4 10 Q (java.naming.applet) 450 251 T 54 395/G3.1001765 FmPA 2 12 Q (environment property to an instance of the applet \050) 108 237 T 4 10 Q (java.applet.Applet) 351.29 237 T 2 12 Q (\051.) 459.29 237 T (When) 108 217 T (these) 139.98 217 T (properties) 167.95 217 T (are) 219.26 217 T (set) 237.23 217 T (as) 253.88 217 T (system) 267.2 217 T (properties) 303.85 217 T (or) 355.16 217 T (applet) 368.48 217 T (parameters,) 401.12 217 T (they) 460.09 217 T (affect) 484.07 217 T (all) 514.7 217 T (of) 530.02 217 T (the) 543.34 217 T 54 361/G3.1001776 FmPA (application\325s/applet\325s contexts.) 108 203 T 3 14 Q (6.5) 72.5 175.67 T (How the Environment Properties are Set) 108 175.67 T 54 320/G3.1001801 FmPA 2 12 Q (When) 108 155 T (JNDI) 139.74 155 T (constructs) 168.82 155 T (an) 220.57 155 T (initial) 234.99 155 T (context,) 266.08 155 T (the) 307.5 155 T (context\325s) 325.25 155 T (environment) 372.33 155 T (is) 436.08 155 T (initialized) 447.17 155 T (with) 498.26 155 T (proper-) 522.68 155 T 54 299/G3.1000432 FmPA (ties) 108 141 T (defined) 127.09 141 T (in) 165.49 141 T (the) 177.24 141 T (environment) 194.33 141 T (parameter) 257.4 141 T (passed) 307.8 141 T (to) 342.21 141 T (the) 353.96 141 T (constructor) 371.04 141 T (and) 427.45 141 T (all) 447.19 141 T (application) 461.61 141 T (resource) 517.36 141 T (files.) 108 127 T (For) 135.06 127 T (the) 155.13 127 T (application/applet-scope) 173.2 127 T (properties,) 293.91 127 T (their) 348.3 127 T (values) 373.69 127 T (from) 407.75 127 T (the) 434.48 127 T (system) 452.55 127 T (properties) 489.28 127 T (and) 540.67 127 T (the applet parameters are also used.) 108 113 T (JNDI) 108 93 T (passes) 136.81 93 T (the) 170.29 93 T (resulting) 187.78 93 T (environment) 232.6 93 T (to) 296.08 93 T (the) 308.24 93 T (initial) 325.72 93 T (context) 356.55 93 T (implementation.) 394.7 93 T (The) 475.86 93 T (environment) 497.34 93 T 54 237/G3.1001815 FmPA (is) 108 79 T (then) 118.7 79 T (inherited) 142.05 79 T (by) 187.41 79 T (contexts) 202.1 79 T (that) 244.79 79 T (are) 265.49 79 T (derived) 282.83 79 T (from) 321.51 79 T (the) 347.53 79 T (initial) 364.89 79 T (context.) 395.59 79 T (Since) 436.61 79 T (JNDI) 465.97 79 T (performs) 494.66 79 T (any) 540.67 79 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.26/DEST FmPD2 108 549/M3.9.21515.section.64.ApplicationAppletscoped.Standard.JNDI.Properties FmPA 108 549/I3.1.1001847 FmPA 108 723/M3.9.20836.subsection.632.Provider.Resource.Files FmPA 108 723/I3.1.1001869 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "26" 30 %%Page: "27" 31 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Configuration) 501.32 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (27) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (necessary) 108 712 T (merging) 157.01 712 T (of) 199.36 712 T (the) 211.72 712 T (properties) 228.74 712 T (and) 279.09 712 T (their) 298.78 712 T (values,) 323.14 712 T (there) 359.16 712 T (is) 385.51 712 T (no) 395.87 712 T (need) 410.23 712 T (for) 435.25 712 T (the) 451.61 712 T (application) 468.63 712 T (or) 524.32 712 T (con-) 536.68 712 T (text implementation to directly consult the system properties or applet parameters.) 108 698 T 3 14 Q (6.6) 72.5 670.67 T (Modifications to the Environment) 108 670.67 T 54 815/G3.1001027 FmPA 2 12 Q (A) 108 650 T (context\325s) 119.14 650 T (environment) 165.6 650 T (can) 228.73 650 T (be) 247.86 650 T (changed) 261.66 650 T (using) 304.12 650 T (the) 332.59 650 T 4 10 Q (addToEnvironment\050\051) 349.73 650 T 2 12 Q (and) 460.2 650 T 4 10 Q (removeFromEn-) 480 650 T 54 794/G3.1001029 FmPA (vironment\050\051) 108 636 T 2 12 Q ( methods:) 174 636 T 4 10 Q (public interface Context {) 140.4 617.33 T 54 761/G3.1001082 FmPA (public Object addToEnvironment\050String propName, Object val\051) 165.6 605.33 T 54 749/G3.1001083 FmPA (throws NamingException;) 190.8 593.33 T 54 737/G3.1001084 FmPA (public Object removeFromEnvironment\050String propName\051) 165.6 581.33 T 54 725/G3.1001085 FmPA (throws NamingException;) 190.8 569.33 T 54 713/G3.1001086 FmPA (...) 165.6 557.33 T 54 701/G3.1001091 FmPA (}) 140.4 545.33 T 54 689/G3.1001092 FmPA 2 12 Q (Not) 108 526 T (all) 129.84 526 T (environment) 145.68 526 T (properties) 210.17 526 T (are) 262 526 T (meaningful) 280.49 526 T (to) 338.98 526 T (all) 352.16 526 T (contexts.) 367.99 526 T (Changes) 414.83 526 T (to) 459.99 526 T (those) 473.17 526 T (that) 502.34 526 T (are) 524.17 526 T (not) 542.66 526 T 54 670/G3.1001202 FmPA (meaningful are still recorded and passed onto derived contexts.) 108 512 T 3 F (6.6.1) 66 489 T (Scope) 108 489 T 54 633/G3.1001032 FmPA 2 F (Changing) 108 469 T (a) 157.17 469 T (property) 165 469 T (using) 208.16 469 T (the) 236.66 469 T 4 10 Q (addToEnvironment\050\051) 253.83 469 T 2 12 Q (or) 364.33 469 T 4 10 Q (removeFromEnvironment\050\051) 376.83 469 T 2 12 Q (methods) 517.33 469 T 54 613/G3.1001034 FmPA (affects) 108 455 T (the) 143.1 455 T (context) 160.88 455 T (instance) 199.32 455 T (on) 241.76 455 T (which) 256.88 455 T (the) 289.32 455 T (method) 307.1 455 T (is) 346.22 455 T (invoked.) 357.34 455 T (For) 402.12 455 T (example,) 421.9 455 T (if) 468.67 455 T (you) 479.12 455 T (specify) 500.24 455 T (new) 538.01 455 T (credentials) 108 441 T (for) 162.87 441 T (a) 179.75 441 T (context) 187.96 441 T (to) 226.18 441 T (use,) 238.4 441 T (subsequent) 260.28 441 T (methods) 316.49 441 T (invoked) 360.05 441 T (on) 401.6 441 T (that) 416.48 441 T (context) 437.37 441 T (that) 475.58 441 T (require) 496.47 441 T (com-) 533.34 441 T (munication) 108 427 T (with) 165.19 427 T (the) 189.71 427 T (server) 207.56 427 T (will) 240.06 427 T (use) 261.92 427 T (those) 281.1 427 T (new) 309.61 427 T (credentials) 332.79 427 T (\050perhaps) 387.96 427 T (internally) 432.46 427 T (by) 481.64 427 T (first) 496.83 427 T (creating) 519.35 427 T (a) 108 413 T (new) 115.77 413 T (connection) 138.21 413 T (to) 193.31 413 T (the) 205.09 413 T (server\051.) 222.2 413 T (These) 260.95 413 T (updated) 292.05 413 T (environment) 332.49 413 T (properties) 395.6 413 T (are) 446.03 413 T (inherited) 463.12 413 T (by) 508.23 413 T (context) 522.67 413 T (instances) 108 399 T (that) 154.38 399 T (are) 174.77 399 T (subsequently) 191.82 399 T (derived) 256.88 399 T (from) 295.25 399 T (the) 320.97 399 T (affected) 338.03 399 T (context) 379.06 399 T (instance,) 416.78 399 T (but) 461.5 399 T (do) 479.23 399 T (not) 493.62 399 T (otherwise) 511.34 399 T (affect other context instances that were in existence prior to the update.) 108 385 T 3 F (6.6.2) 66 362 T (Timeliness) 108 362 T 54 506/G3.1001043 FmPA 2 F (When) 108 342 T (a) 139.57 342 T (change) 147.82 342 T (is) 184.72 342 T (made) 195.64 342 T (to) 224.55 342 T (the) 236.81 342 T (environment) 254.39 342 T (properties,) 317.96 342 T (there) 371.87 342 T (is) 398.78 342 T (no) 409.7 342 T (requirement) 424.61 342 T (that) 485.52 342 T (the) 506.43 342 T (change) 524.02 342 T 54 486/G3.1001045 FmPA (be) 108 328 T (verified) 122.73 328 T (and) 163.46 328 T (acted) 184.19 328 T (upon) 212.91 328 T (at) 240.32 328 T (the) 252.39 328 T (time) 270.45 328 T 4 10 Q (addToEnvironment\050\051) 295.2 328 T 2 12 Q (or) 406.6 328 T 4 10 Q (removeFromEnvironment\050\051) 420 328 T 2 12 Q (is) 108 314 T (invoked.) 119.11 314 T (The) 163.89 314 T (only) 185.66 314 T (requirement) 210.1 314 T (is) 271.2 314 T (that) 282.31 314 T (the) 303.42 314 T (change) 321.2 314 T (\050or) 358.29 314 T (changes\051) 375.39 314 T (be) 421.15 314 T (effective) 435.59 314 T (the) 480.68 314 T (next) 498.45 314 T (time) 522.23 314 T (an) 546.67 314 T (operation that uses that property is invoked.) 108 300 T 3 F (6.6.3) 66 277 T (Defaults) 108 277 T 54 421/G3.1001050 FmPA 2 F (For) 108 257 T (some) 127.47 257 T (environment) 155.6 257 T (properties,) 219.07 257 T (JNDI) 272.85 257 T (defines) 301.65 257 T (defaults) 339.11 257 T (\050see) 379.9 257 T (Appendix) 402.02 257 T (A\051.) 452.15 257 T (For) 470.61 257 T (others,) 490.08 257 T (the) 525.21 257 T (de-) 542.68 257 T 54 401/G3.1001052 FmPA (fault) 108 243 T (might) 132.52 243 T (be) 163.06 243 T (determined) 176.91 243 T (by) 233.43 243 T (the) 247.96 243 T (service) 265.15 243 T (provider) 301.66 243 T (or) 344.84 243 T (a) 357.37 243 T (group) 365.22 243 T (of) 395.75 243 T (service) 408.27 243 T (providers.) 444.78 243 T (If) 495.63 243 T (a) 506.15 243 T (context\325s) 514.01 243 T (environment) 108 229 T (does) 171.55 229 T (not) 196.43 229 T (have) 214.65 229 T (a) 240.2 229 T (particular) 248.41 229 T (property,) 297.28 229 T (the) 343.82 229 T (context) 361.38 229 T (behaves) 399.59 229 T (as) 441.13 229 T (if) 454.01 229 T (its) 464.23 229 T (environment) 478.46 229 T (has) 542 229 T (that property with its default value.) 108 215 T (When) 108 195 T (a) 139.21 195 T (property) 147.09 195 T (is) 190.3 195 T (removed) 200.86 195 T (from) 245.4 195 T (a) 271.29 195 T (context\325s) 279.17 195 T (environment,) 325.71 195 T (the) 391.93 195 T (context) 409.15 195 T (assumes) 447.03 195 T (the) 489.58 195 T (default) 506.8 195 T (be-) 542.67 195 T 54 339/G3.1001056 FmPA (havior) 108 181 T (specified) 142.02 181 T (for) 188.71 181 T (that) 206.06 181 T (property.) 227.42 181 T (This) 274.44 181 T (does) 299.14 181 T (not) 324.5 181 T (necessarily) 343.2 181 T (mean) 399.88 181 T (that) 429.23 181 T (the) 450.59 181 T (default) 468.62 181 T (value) 505.3 181 T (must) 534.66 181 T (be) 108 167 T (recorded) 122.52 167 T (as) 167.69 167 T (the) 180.88 167 T (property\325s) 198.74 167 T (value.) 251.26 167 T (The) 283.45 167 T (removal) 305.3 167 T (may) 347.82 167 T (also) 371.68 167 T (be) 394.21 167 T (indicated) 408.73 167 T (by) 455.92 167 T (the) 471.11 167 T (absence) 488.97 167 T (of) 530.15 167 T (the) 543.34 167 T (property from the context\325s environment.) 108 153 T 3 F (6.6.4) 66 130 T (Acceptable Values) 108 130 T 54 274/G3.1001061 FmPA 2 F (Some) 108 110 T (environment) 138.99 110 T (properties) 203.29 110 T (have) 254.93 110 T (a) 281.24 110 T (fixed) 290.21 110 T (set) 318.52 110 T (of) 335.5 110 T (acceptable) 349.15 110 T (values) 403.44 110 T (while) 437.74 110 T (others) 468.06 110 T (have) 501.04 110 T (values) 527.34 110 T 54 254/G3.1001063 FmPA (that) 108 96 T (must) 129.03 96 T (follow) 155.41 96 T (a) 189.77 96 T (particular) 198.14 96 T (syntax.) 247.15 96 T (If) 284.52 96 T (an) 295.55 96 T (unacceptable) 309.91 96 T (value) 375.58 96 T (is) 404.61 96 T (presented,) 415.65 96 T (a) 467.67 96 T (property-specific) 476.03 96 T (exception) 108 82 T (will) 157.04 82 T (be) 178.1 82 T (thrown) 191.82 82 T (\050for) 228.2 82 T (example,) 248.57 82 T 4 10 Q (ConfigurationException) 294.61 82 T 2 12 Q (,) 426.61 82 T 4 10 Q (IllegalArgumentExcep-) 432 82 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.27/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "27" 31 %%Page: "28" 32 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Configuration) 501.32 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (28) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (tion) 108 712 T 2 12 Q (,) 132 712 T (or) 138.89 712 T 4 10 Q (AuthenticationNotSupportedException) 152.78 712 T 2 12 Q (\051.) 362.78 712 T (In) 373.67 712 T (some) 387.56 712 T (cases,) 416.79 712 T (it) 449 712 T (might) 459.57 712 T (be) 491.47 712 T (reasonable) 506.69 712 T (for) 108 698 T (the) 125.43 698 T (service) 143.53 698 T (provider) 180.95 698 T (to) 225.04 698 T (accept) 237.81 698 T (additional) 271.89 698 T (values) 323.33 698 T (than) 357.42 698 T (those) 381.52 698 T (specified,) 410.29 698 T (in) 460.05 698 T (which) 472.82 698 T (case,) 505.58 698 T (those) 532.67 698 T (values should be documented.) 108 684 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.28/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "28" 32 %%Page: "29" 33 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Scenarios) 518.56 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (29) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (7) 81 708 T (Scenarios) 108 708 T 54 852/G3.998799 FmPA 2 12 Q (This) 108 680 T (section) 132.78 680 T (outlines) 170.21 680 T (a) 211.66 680 T (few) 220.43 680 T (application) 241.85 680 T (scenarios) 298.62 680 T (to) 346.71 680 T (help) 359.49 680 T (illustrate) 383.6 680 T (the) 429.04 680 T (capabilities) 447.14 680 T (enabled) 505.24 680 T (by) 546 680 T 54 824/G3.998354 FmPA (JNDI.) 108 666 T 0 F (\245) 108 646 T (The) 125 646 T (examples) 145.46 646 T (below) 192.57 646 T (are) 223.71 646 T (not) 242.16 646 T (meant) 259.96 646 T (to) 291.75 646 T (be) 303.55 646 T (prescriptive.) 317.34 646 T (There) 380.12 646 T (are) 410.58 646 T (often) 429.04 646 T (several) 455.5 646 T (ways) 492.62 646 T (to) 519.08 646 T (solve) 530.88 646 T 54 790/G3.998355 FmPA (a problem, and JNDI is designed with flexibility in mind.) 126 632 T 3 14 Q (7.1) 72.5 604.67 T (User authentication) 108 604.67 T 54 749/G3.998356 FmPA 2 12 Q (In) 108 584 T (secure) 121.5 584 T (systems,) 155.65 584 T (a) 200.16 584 T (user) 209 584 T (must) 232.5 584 T (authenticate) 259.34 584 T (himself) 320.83 584 T (to) 360.34 584 T (the) 373.18 584 T (computer,) 391.35 584 T (network,) 443.18 584 T (or) 489.01 584 T (service) 502.51 584 T (that) 540 584 T 54 728/G3.998357 FmPA (he) 108 570 T (wishes) 123 570 T (to) 159.33 570 T (access.) 172.34 570 T (For) 209.66 570 T (example,) 230 570 T (logging) 277.32 570 T (into) 317.67 570 T (Unix) 340.01 570 T (requires) 367.68 570 T (the) 410 570 T (user) 428.33 570 T (to) 452 570 T (supply) 465 570 T (a) 500.68 570 T (password.) 509.68 570 T (Similarly,) 108 556 T (use) 159.19 556 T (of) 178.7 556 T (SSL) 192.22 556 T (requires) 216.41 556 T (that) 258.58 556 T (the) 280.09 556 T (user) 298.27 556 T (supply) 321.78 556 T (his) 357.3 556 T (X.509) 374.82 556 T (certificate.) 408 556 T (Such) 462.49 556 T (authentication) 490.01 556 T (information) 108 542 T (can) 167.98 542 T (be) 187.95 542 T (stored) 202.59 542 T (as) 235.24 542 T (attributes) 248.55 542 T (associated) 296.53 542 T (with) 349.16 542 T (each) 373.82 542 T (user) 399.11 542 T (in) 422.42 542 T (the) 435.07 542 T (directory.) 453.05 542 T (The) 502.69 542 T (system) 524.66 542 T (performing) 108 528 T (the) 166.08 528 T (authentication) 184.83 528 T (would) 256.91 528 T (look) 291 528 T (up) 316.43 528 T (the) 332.52 528 T (attribute) 351.27 528 T (\050for) 395.36 528 T (example,) 417.44 528 T (\322password\323\051) 465.18 528 T (of) 529.25 528 T (the) 543.34 528 T (user and verify the authenticity using the information supplied by the user.) 108 514 T 4 10 Q (DirContext ctx = new InitialDirContext\050\051;) 140.4 495.33 T 54 639/G3.998358 FmPA (Attribute attr = ctx.getAttributes\050userName\051.get\050"password"\051;) 140.4 483.33 T 54 627/G3.998359 FmPA (String password = \050String\051attr.get\050\051;) 140.4 471.33 T 54 615/G3.998360 FmPA 3 14 Q (7.2) 72.5 444.67 T (Electronic Mail) 108 444.67 T 54 589/G3.998362 FmPA 2 12 Q (A) 108 424 T (useful) 119.34 424 T (feature) 151.34 424 T (of) 187.32 424 T (an) 199.99 424 T (electronic) 213.99 424 T (mail) 263.98 424 T (system) 287.99 424 T (is) 324 424 T (a) 334.68 424 T (directory) 342.68 424 T (service) 388.67 424 T (that) 425.33 424 T (provides) 446 424 T (a) 490 424 T (mapping) 498 424 T (be-) 542.68 424 T 54 568/G3.998363 FmPA (tween) 108 410 T (users) 140.31 410 T (and) 168.62 410 T (email) 189.6 410 T (addresses.) 219.91 410 T (This) 272.55 410 T (allows) 297.54 410 T (mail) 332.52 410 T (users) 357.51 410 T (to) 385.82 410 T (search) 398.81 410 T (for) 433.11 410 T (the) 450.75 410 T (email) 469.07 410 T (address) 499.38 410 T (of) 539.02 410 T (a) 552.67 410 T (particular) 108 396 T (user.) 158.43 396 T (This) 185.86 396 T (is) 211.63 396 T (analogous) 224.08 396 T (to) 277.18 396 T (searching) 290.96 396 T (for) 341.38 396 T (an) 359.82 396 T (individual\325s) 375.58 396 T (telephone) 437.36 396 T (number) 488.46 396 T (in) 529.56 396 T (the) 543.34 396 T (phone) 108 382 T (book) 140.29 382 T (in) 167.26 382 T (order) 179.56 382 T (to) 207.85 382 T (dial) 220.15 382 T (his) 241.11 382 T (phone) 258.08 382 T (number.) 290.38 382 T (For) 333 382 T (example,) 352.63 382 T (when) 399.26 382 T (I) 428.21 382 T (want) 435.17 382 T (to) 461.47 382 T (send) 473.77 382 T (mail) 498.73 382 T (to) 523.03 382 T (John) 535.33 382 T (Smith) 108 368 T (in) 139.62 368 T (my) 151.9 368 T (department,) 170.18 368 T (I) 230.11 368 T (search) 237.04 368 T (for) 270.63 368 T (\322John) 287.57 368 T (Smith\323) 318.5 368 T (in) 355.45 368 T (the) 367.73 368 T (directory) 385.34 368 T (using) 431.6 368 T (a) 460.54 368 T (\322search\323) 468.81 368 T (widget) 513.06 368 T (in) 548.66 368 T (the) 108 354 T (mail) 125.79 354 T (application.) 150.26 354 T (The) 209.71 354 T (widget) 231.5 354 T (returns) 267.29 354 T (to) 303.74 354 T (me) 316.21 354 T (five) 334 354 T (entries) 355.79 354 T (of) 390.91 354 T (John) 404.04 354 T (Smith,) 429.83 354 T (from) 464.64 354 T (which) 491.1 354 T (I) 523.55 354 T (select) 530.68 354 T (the) 108 340 T (one) 125.67 340 T (that) 146 340 T (is) 167 340 T (in) 178 340 T (a) 190.34 340 T (building) 198.67 340 T (on) 241.68 340 T (my) 256.68 340 T (site) 275.02 340 T (and) 294.69 340 T (use) 315.02 340 T (the) 334.02 340 T (email) 351.69 340 T (address) 381.35 340 T (attribute) 420.34 340 T (associated) 463.34 340 T (with) 515.66 340 T (that) 540 340 T (entry.) 108 326 T 4 10 Q (NamingEnumeration matches =) 140.4 307.33 T 54 451/G3.998364 FmPA (deptCtx.search\050"user",) 165.6 295.33 T (new) 302.7 295.33 T (BasicAttributes\050"name",) 325.8 295.33 T ("John) 468.9 295.33 T (Smith"\051\051;) 504 295.33 T 54 439/G3.998365 FmPA (// use matches to construct a selectable list for end-user) 140.4 283.33 T 54 427/G3.998366 FmPA (while \050matches.hasMore\050\051\051 {) 140.4 271.33 T 54 415/G3.998367 FmPA (SearchResult item = \050SearchResult\051 matches.next\050\051;) 165.6 259.33 T 54 403/G3.998368 FmPA (Attributes info = item.getAttributes\050\051;) 165.6 247.33 T 54 391/G3.998369 FmPA (/* display attributes */) 165.6 235.33 T 54 379/G3.998370 FmPA (...) 165.6 223.33 T 54 367/G3.998371 FmPA (}) 140.4 211.33 T 54 355/G3.998372 FmPA 2 12 Q (The) 108 192 T (directory) 129.91 192 T (could) 176.48 192 T (also) 206.39 192 T (be) 228.97 192 T (used) 243.55 192 T (by) 268.8 192 T (users) 284.05 192 T (to) 311.96 192 T (set) 324.54 192 T (up) 341.12 192 T (personalized) 356.37 192 T (address) 420.27 192 T (books.) 459.51 192 T (For) 494.43 192 T (example,) 514.34 192 T 54 336/G3.998375 FmPA (once) 108 178 T (I) 133.51 178 T (have) 140.37 178 T (located) 165.88 178 T (John) 203.4 178 T (Smith\325s) 228.93 178 T (email) 269.13 178 T (address,) 298.65 178 T (I) 340.5 178 T (might) 347.36 178 T (not) 378.22 178 T (want) 396.42 178 T (to) 422.6 178 T (search) 434.8 178 T (the) 468.31 178 T (directory) 485.83 178 T (again) 532.01 178 T (each) 108 164 T (time) 133.32 164 T (I) 158 164 T (send) 165.33 164 T (him) 190.67 164 T (mail.) 212.68 164 T (Instead,) 240.36 164 T (I) 281.35 164 T (can) 288.69 164 T (create) 308.68 164 T (a) 340.67 164 T (personal) 349.33 164 T (subtree) 393.33 164 T (in) 431.32 164 T (the) 444 164 T (directory) 462 164 T (in) 508.66 164 T (which) 521.34 164 T (I) 554 164 T (maintain entries that I frequently use, possibly by creating links to the existing entries.) 108 150 T 3 14 Q (7.3) 72.5 122.67 T (Databases) 108 122.67 T 54 267/G3.998376 FmPA 2 12 Q (Database) 108 102 T (applications) 154.55 102 T (can) 215.12 102 T (use) 234.35 102 T (the) 252.92 102 T (directory) 270.16 102 T (to) 316.05 102 T (locate) 327.96 102 T (database) 359.19 102 T (servers.) 403.08 102 T (For) 442.64 102 T (example,) 461.88 102 T (a) 508.11 102 T (financial) 516.01 102 T 54 246/G3.998377 FmPA (application) 108 88 T (needs) 164.38 88 T (to) 194.75 88 T (get) 207.13 88 T (the) 224.84 88 T (stock) 242.56 88 T (quotes) 270.94 88 T (from) 305.32 88 T (a) 331.69 88 T (stock) 340.07 88 T (quote) 368.45 88 T (server) 398.16 88 T (using) 430.52 88 T (JDBC.) 459.58 88 T (This) 494.96 88 T (applica-) 519.35 88 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.29/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "29" 33 %%Page: "30" 34 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Scenarios) 518.56 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (30) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (tion) 108 712 T (can) 130.89 712 T (enable) 151.76 712 T (the) 187.29 712 T (user) 206.17 712 T (to) 230.38 712 T (select) 243.93 712 T (the) 275.46 712 T (stock) 294.34 712 T (quote) 323.89 712 T (server) 354.77 712 T (based) 388.3 712 T (on) 419.83 712 T (specification) 436.05 712 T (of) 501.58 712 T (some) 515.79 712 T (at-) 545.34 712 T (tributes) 108 698 T (\050such) 147.06 698 T (as) 176.11 698 T (coverage) 189.17 698 T (of) 235.54 698 T (which) 248.59 698 T (markets) 280.98 698 T (and) 322.03 698 T (frequency) 342.42 698 T (of) 393.46 698 T (quote) 406.51 698 T (updates\051.) 436.24 698 T (The) 482.95 698 T (application) 504.67 698 T (searches) 108 684 T (the) 151.49 684 T (directory) 168.99 684 T (for) 215.15 684 T (quote) 231.99 684 T (servers) 261.49 684 T (that) 298.32 684 T (meet) 319.16 684 T (these) 345.33 684 T (attributes,) 372.84 684 T (and) 423.34 684 T (then) 443.51 684 T (retrieves) 467.02 684 T (the) 511.18 684 T (\322loca-) 528.68 684 T (tion\323 attribute \050a JDBC URL\051 of the selected quote server and connects to it.) 108 670 T 4 10 Q (NamingEnumeration matches =) 140.4 651.33 T 54 795/G3.998378 FmPA (ctx.search\050"service/stockQuotes",) 165.6 639.33 T 54 783/G3.998379 FmPA ("\050&\050market=NASDAQ\051\050updateFreqency<=300\051\051",) 190.8 627.33 T (searchctls\051;) 190.8 615.33 T (while \050matches.hasMore\050\051\051 {) 140.4 603.33 T 54 747/G3.998380 FmPA (SearchResult item = \050SearchResult\051matches.next\050\051;) 165.6 591.33 T 54 735/G3.998381 FmPA (Attribute location = item.getAttributes\050\051.get\050"location"\051;) 165.6 579.33 T 54 723/G3.998382 FmPA (...) 165.6 567.33 T 54 711/G3.998383 FmPA (}) 140.4 555.33 T 54 699/G3.998384 FmPA 3 14 Q (7.4) 72.5 528.67 T (Browsing) 108 528.67 T 54 673/G3.998386 FmPA 2 12 Q (When) 108 508 T (using) 139.76 508 T (almost) 168.87 508 T (any) 203.99 508 T (kind) 224.42 508 T (of) 248.86 508 T (interactive) 261.97 508 T (application) 315.73 508 T (that) 372.16 508 T (asks) 393.27 508 T (a) 417.04 508 T (user) 425.48 508 T (to) 448.58 508 T (input) 461.02 508 T (names,) 488.8 508 T (the) 525.57 508 T (us-) 543.34 508 T 54 652/G3.998387 FmPA (er\325s) 108 494 T (job) 129.27 494 T (is) 147.89 494 T (made) 159.17 494 T (easier) 188.45 494 T (if) 219.71 494 T (a) 230.33 494 T (namespace) 238.93 494 T (browser) 294.86 494 T (is) 336.8 494 T (available) 348.08 494 T (to) 394.68 494 T (him.) 407.3 494 T (The) 432.25 494 T (browser) 454.2 494 T (can) 496.13 494 T (either) 516.07 494 T (be) 546.67 494 T (built) 108 480 T (into) 132.38 480 T (the) 153.43 480 T (application) 170.47 480 T (and) 226.17 480 T (tailored) 245.88 480 T (to) 284.91 480 T (suit) 296.62 480 T (that) 316.34 480 T (application) 336.71 480 T (in) 392.42 480 T (particular,) 404.13 480 T (or) 455.49 480 T (it) 467.86 480 T (can) 476.91 480 T (be) 495.94 480 T (more) 509.64 480 T (gen-) 536.68 480 T (eral-purpose such as a typical web browser.) 108 466 T (A) 108 446 T (very) 119.28 446 T (simple) 143.21 446 T (example) 177.83 446 T (of) 221.09 446 T (a) 233.7 446 T (JNDI) 241.64 446 T (browser) 270.24 446 T (allows) 311.51 446 T (a) 345.45 446 T (user) 353.39 446 T (to) 375.99 446 T (\322walk\323) 387.94 446 T (through) 424.54 446 T (a) 464.48 446 T (namespace,) 472.42 446 T (view-) 530.68 446 T 54 590/G3.998388 FmPA (ing) 108 432 T (the) 125.69 432 T (atomic) 142.71 432 T (names) 177.73 432 T (at) 210.75 432 T (each) 221.77 432 T (step) 246.11 432 T (along) 267.8 432 T (the) 296.82 432 T (way.) 313.84 432 T (The) 339.18 432 T (browser) 360.2 432 T (prints) 401.21 432 T (a) 430.9 432 T (\322*\323) 438.58 432 T (to) 457.6 432 T (highlight) 469.29 432 T (the) 514.99 432 T (name) 532.01 432 T (of each) 108 414.8 T 4 10 Q (Context) 145.98 414.8 T 2 12 Q (, thus telling the user where he can go next.) 187.98 414.8 T 2 9.6 Q (1) 396.28 419.6 T 54 96 558 110.98 C 0 0 0 1 0 0 0 1 K 54 96 558 110.98 R 7 X V 63 108.96 207 108.96 2 L V 0.5 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (1.) 72 89.33 T (The) 84 89.33 T 4 9 Q (isContext\050\051) 102.05 89.33 T 2 10 Q ( method used in the e) 161.45 89.33 T (xample is not part of JNDI. It is a method that must be pro) 246.57 89.33 T (vided by the) 480.29 89.33 T 54 233/G3.998391 FmPA (application.) 84 77.33 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.30/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "30" 34 %%Page: "31" 35 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Scenarios) 518.56 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (31) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (// Start at the top -- the initial context.) 140.4 713.33 T 54 857/G3.998392 FmPA (Context ctx = new InitialContext\050\051;) 140.4 701.33 T 54 845/G3.998393 FmPA (while \050ctx != null\051 {) 140.4 689.33 T (// display one level) 272.4 689.33 T 54 833/G3.998394 FmPA (NamingEnumeration) 165.6 677.33 T (items = ctx.list\050\051;) 273.6 677.33 T 54 821/G3.998395 FmPA (while \050items.hasMoreElements\050\051\051 {) 165.6 665.33 T 54 809/G3.998396 FmPA (NameClassPair item = \050NameClassPair\051items.next\050\051;) 190.8 653.33 T 54 797/G3.998397 FmPA (if \050isContext\050item.getClassName\050\051\051\051 {) 190.8 641.33 T 54 785/G3.998398 FmPA (System.out.print\050"*"\051;) 216 629.33 T 54 773/G3.998399 FmPA (} else {) 190.8 617.33 T 54 761/G3.998400 FmPA (System.out.print\050" "\051;) 216 605.33 T 54 749/G3.998402 FmPA (}) 190.8 593.33 T 54 737/G3.998403 FmPA (System.out.println\050" " + item.getName\050\051\051;) 190.8 581.33 T 54 725/G3.998404 FmPA (}) 165.6 569.33 T 54 713/G3.998405 FmPA (// Take the next step down into the namespace.) 165.6 557.33 T 54 701/G3.998406 FmPA (String target = input.readLine\050\051;) 165.6 545.33 T 54 689/G3.998407 FmPA (try {) 165.6 533.33 T 54 677/G3.998408 FmPA (ctx = \050Context\051ctx.lookup\050target\051;) 190.8 521.33 T 54 665/G3.998409 FmPA (} catch \050NamingException e\051 {) 165.6 509.33 T 54 653/G3.998410 FmPA (// handle error) 190.8 497.33 T 54 641/G3.1001298 FmPA (} catch \050ClassCastException e\051 {) 165.6 485.33 T 54 629/G3.998412 FmPA (// not a context; cannot traverse) 190.8 473.33 T 54 617/G3.998413 FmPA (}) 165.6 461.33 T 54 605/G3.998415 FmPA (}) 140.4 449.33 T 54 593/G3.998416 FmPA 3 14 Q (7.5) 72.5 422.67 T (Network Printing) 108 422.67 T 54 567/G3.998418 FmPA 2 12 Q (An) 108 402 T (important) 125.69 402 T (function) 175.38 402 T (of) 218.4 402 T (a) 231.41 402 T (printing) 239.76 402 T (service) 280.79 402 T (is) 317.8 402 T (to) 328.82 402 T (provide) 341.18 402 T (a) 380.86 402 T (means) 389.22 402 T (for) 422.9 402 T (its) 439.91 402 T (human) 454.28 402 T (users) 489.96 402 T (to) 517.65 402 T (easily) 530 402 T 54 546/G3.998419 FmPA (discover) 108 388 T (and) 151.86 388 T (select) 172.39 388 T (printers) 202.92 388 T (in) 242.79 388 T (the) 255.33 388 T (network.) 273.2 388 T (An) 318.73 388 T (application) 336.59 388 T (that) 393.13 388 T (needs) 414.33 388 T (to) 444.86 388 T (print,) 457.4 388 T (or) 486.27 388 T (the) 499.48 388 T (machine) 517.34 388 T (on) 108 374 T (which) 122.93 374 T (it) 155.2 374 T (runs,) 164.8 374 T (should) 191.4 374 T (not) 226.34 374 T (have) 244.61 374 T (to) 270.2 374 T (be) 282.46 374 T (configured) 296.73 374 T (each) 351.64 374 T (time) 376.56 374 T (a) 400.83 374 T (new) 409.09 374 T (printer) 432.02 374 T (is) 466.95 374 T (added) 477.88 374 T (to) 509.47 374 T (the) 521.74 374 T (net-) 539.34 374 T (work.) 108 360 T (The) 139.71 360 T (scope) 162.42 360 T (of) 193.8 360 T (network) 207.85 360 T (access) 251.22 360 T (to) 285.92 360 T (printers) 299.31 360 T (may) 340.02 360 T (range) 364.73 360 T (from) 395.44 360 T (a) 422.82 360 T (workgroup) 432.19 360 T (to) 488.9 360 T (global.) 502.29 360 T (The) 539.34 360 T (printing service can use the directory to provide this capability.) 108 346 T (Assume) 108 326 T (that) 149.36 326 T (printers) 170.05 326 T (are) 209.4 326 T (represented) 226.75 326 T (by) 284.75 326 T (a) 299.44 326 T 4 10 Q (Printer) 307.46 326 T 2 12 Q (interface.) 352.16 326 T (One) 399.83 326 T (of) 422.51 326 T (the) 435.2 326 T (methods) 452.56 326 T (in) 495.92 326 T (it) 507.95 326 T (could) 517.31 326 T (be) 546.67 326 T 54 470/G3.998420 FmPA 4 10 Q (print\050\051) 108 312 T 2 12 Q (which,) 157.9 312 T (when) 193.51 312 T (given) 222.8 312 T (an) 252.75 312 T 4 10 Q (InputStream) 267.37 312 T 2 12 Q (,) 333.37 312 T (will) 339.66 312 T (read) 361.62 312 T (data) 385.56 312 T (from) 408.84 312 T 4 10 Q (InputStream) 435.46 312 T 2 12 Q (and) 504.75 312 T (print) 525.37 312 T (it) 551.33 312 T (on the printer represented by this instance of) 108 298 T 4 F (Printer) 324.62 298 T 2 F (.) 375.02 298 T 4 10 Q (interface Printer {) 140.4 279.33 T 54 423/G3.998421 FmPA (void print\050InputStream data\051 throws PrinterException;) 165.6 267.33 T 54 411/G3.998422 FmPA (...) 165.6 255.33 T 54 399/G3.998423 FmPA (}) 140.4 243.33 T 54 387/G3.998424 FmPA 2 12 Q (A) 108 224 T (user) 118.93 224 T (selects) 141.2 224 T (a) 175.46 224 T (printer) 183.06 224 T (using) 217.32 224 T (a) 245.6 224 T (logical) 253.2 224 T (printer) 288.13 224 T (name,) 322.4 224 T (either) 353.66 224 T (explicitly) 383.26 224 T (or) 430.86 224 T (through) 443.13 224 T (default) 482.73 224 T (settings.) 518.33 224 T 54 368/G3.998425 FmPA (For) 108 210 T (example,) 128.94 210 T (the) 176.87 210 T (user) 195.8 210 T (might) 220.07 210 T (have) 252.34 210 T (specified) 279.27 210 T (a) 326.86 210 T (default) 336.46 210 T (printer) 374.06 210 T (to) 410.32 210 T (use) 423.93 210 T (for) 444.19 210 T (all) 462.46 210 T (his) 478.73 210 T (applications,) 497 210 T (which) 108 196 T (is) 140.9 196 T (overridden) 152.47 196 T (only) 208.02 196 T (when) 232.93 196 T (he) 262.49 196 T (explicitly) 277.39 196 T (specifies) 326.3 196 T (another) 371.85 196 T (printer) 411.41 196 T (to) 446.97 196 T (use.) 459.88 196 T (The) 482.44 196 T (application) 504.67 196 T (that) 108 182 T (is) 128.49 182 T (accepting) 138.99 182 T (the) 187.47 182 T (print) 204.63 182 T (request) 229.79 182 T (takes) 266.94 182 T (the) 294.1 182 T (printer) 311.26 182 T (name) 345.74 182 T (and) 374.23 182 T (looks) 394.05 182 T (it) 422.55 182 T (up) 431.72 182 T (in) 446.21 182 T (the) 458.04 182 T (directory) 475.2 182 T (service.) 521.02 182 T (The) 108 168 T (application) 130.19 168 T (expects) 187.05 168 T (to) 226.56 168 T (receive) 239.43 168 T (as) 277.6 168 T (the) 291.12 168 T (result) 309.32 168 T (an) 339.51 168 T (object) 354.37 168 T (that) 387.22 168 T (implements) 408.75 168 T (the) 468.29 168 T 4 10 Q (Printer) 486.48 168 T 2 12 Q (inter-) 532.01 168 T (face.) 108 154 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.31/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "31" 35 %%Page: "32" 36 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Scenarios) 518.56 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (32) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 F 0 X (void myAppPrint\050String printerName, String fileName\051) 140.4 713.33 T 54 857/G3.998426 FmPA (throws IOException {) 165.6 701.33 T 54 845/G3.998427 FmPA (try {) 165.6 689.33 T 54 833/G3.998428 FmPA (DirContext ctx = new InitialDirContext\050\051;) 190.8 677.33 T 54 821/G3.998429 FmPA (Printer prt = \050Printer\051 ctx.lookup\050printerName\051;) 190.8 665.33 T 54 809/G3.998430 FmPA (prt.print\050new FileInputStream\050fileName\051\051;) 190.8 653.33 T 54 797/G3.998431 FmPA (} catch \050NamingException e\051{) 165.6 641.33 T 54 785/G3.998432 FmPA (System.err.println\050"Could not locate printer: " + e\051;) 190.8 629.33 T 54 773/G3.998433 FmPA (} catch \050ClassCastException e\051 {) 165.6 617.33 T 54 761/G3.998434 FmPA (System.err.println\050printerName + "does not name a printer"\051;) 190.8 605.33 T 54 749/G3.998435 FmPA (}) 165.6 593.33 T 54 737/G3.998436 FmPA (}) 140.4 581.33 T 54 725/G3.998437 FmPA 3 12 Q (7.5.1) 66 559 T (Browsing and searching for printers) 108 559 T 54 703/G3.998438 FmPA 2 F (Selecting) 108 539 T (a) 155.04 539 T (printer) 162.74 539 T (by) 197.11 539 T (explicitly) 211.49 539 T (giving) 259.2 539 T (its) 292.24 539 T (name) 305.96 539 T (is) 334.33 539 T (but) 344.7 539 T (one) 362.42 539 T (way) 382.12 539 T (of) 404.49 539 T (identifying) 416.86 539 T (a) 471.9 539 T (printer.) 479.61 539 T (The) 516.97 539 T (user) 538.01 539 T 54 683/G3.998439 FmPA (can) 108 525 T (also) 128.64 525 T (use) 151.96 525 T (the) 171.94 525 T (directory) 190.59 525 T (to) 237.9 525 T (see) 251.22 525 T (the) 270.53 525 T (different) 289.18 525 T (printers) 334.48 525 T (available) 375.12 525 T (\050browsing\051,) 422.43 525 T (or) 482.07 525 T (to) 496.05 525 T (search) 509.37 525 T (for) 544.01 525 T (printers) 108 511 T (with) 147.06 511 T (particular) 170.8 511 T (attributes.) 219.18 511 T (For) 269.24 511 T (example) 288.31 511 T (the) 331.37 511 T (user) 348.43 511 T (can) 370.82 511 T (ask) 389.88 511 T (the) 408.28 511 T (directory) 425.34 511 T (to) 471.06 511 T (list) 482.8 511 T (all) 499.87 511 T (the) 514.27 511 T (print-) 531.34 511 T (ers) 108 497 T (on) 124.57 497 T (the) 139.15 497 T (second) 156.39 497 T (floor) 192.29 497 T (of) 218.2 497 T (building) 230.78 497 T (5) 273.36 497 T (in) 281.94 497 T (the) 293.86 497 T (Mountain) 311.1 497 T (View) 360.35 497 T (campus,) 388.92 497 T (or) 431.15 497 T (search) 443.73 497 T (for) 476.96 497 T (all) 493.53 497 T (color) 508.11 497 T (laser) 535.34 497 T (printers) 108 483 T (with) 147.57 483 T (600dpi) 171.82 483 T (resolution.) 208.07 483 T (From) 261.98 483 T (the) 290.9 483 T (application\325s) 308.48 483 T (perspective,) 373.38 483 T (just) 433.94 483 T (as) 454.2 483 T 4 10 Q (lookup\050\051) 467.1 483 T 2 12 Q (returned) 518.02 483 T (a) 108 469 T 4 10 Q (Printer) 116.64 469 T 2 12 Q (object,) 161.96 469 T (the) 197.6 469 T (list) 215.58 469 T (and) 233.57 469 T (search) 254.21 469 T (operations) 288.17 469 T (also) 341.48 469 T (provide) 364.13 469 T (the) 404.1 469 T (same) 422.08 469 T (capability) 450.05 469 T (of) 500.7 469 T (returning) 514.01 469 T 4 10 Q (Printer) 108 455 T 2 12 Q ( objects that the application could use to submit print requests.) 150 455 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.32/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "32" 36 %%Page: "33" 37 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Security Considerations) 461.61 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (33) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (8) 81 708 T (Security Considerations) 108 708 T 54 852/G3.998459 FmPA 2 12 Q (There) 108 680 T (are) 139.57 680 T (two) 157.81 680 T (main) 179.4 680 T (settings) 206.99 680 T (in) 247.24 680 T (which) 260.17 680 T (JNDI) 293.08 680 T (is) 322.66 680 T (used:) 334.25 680 T (with) 363.17 680 T (and) 388.1 680 T (without) 409.01 680 T (a) 449.27 680 T (security) 458.18 680 T (manager) 499.77 680 T (in-) 544.67 680 T 54 824/G3.998460 FmPA (stalled.) 108 666 T (In) 108 646 T (the) 120.91 646 T (case) 138.49 646 T (of) 162.06 646 T (Java) 174.97 646 T (applications) 199.21 646 T (running) 260.12 646 T (with) 300.37 646 T (no) 324.62 646 T (security) 339.54 646 T (manager) 380.45 646 T (installed,) 424.68 646 T (the) 471.26 646 T (code) 488.84 646 T (is) 514.42 646 T (trusted) 525.34 646 T 54 790/G3.998461 FmPA (and) 108 632 T (the) 128 632 T (application) 145.34 632 T (can) 201.35 632 T (access) 220.68 632 T (service) 254 632 T (providers) 290.66 632 T (from) 338.66 632 T (the) 364.66 632 T (local) 382 632 T (classpath.) 408 632 T (Furthermore,) 457.67 632 T (there) 523.33 632 T (is) 550 632 T (no) 108 618 T (restriction) 122.32 618 T (if) 173.29 618 T (the) 182.94 618 T (service) 199.92 618 T (providers) 236.22 618 T (access) 283.86 618 T (local) 316.82 618 T (files,) 342.47 618 T (or) 368.45 618 T (make) 380.76 618 T (network) 409.07 618 T (connections) 450.71 618 T (to) 510.35 618 T (naming) 522 618 T (or directory servers anywhere on the network.) 108 604 T (In) 108 584 T (the) 121.23 584 T (case) 139.13 584 T (of) 163.02 584 T (an) 176.25 584 T (applet) 190.81 584 T (or) 223.38 584 T (application) 236.61 584 T (running) 293.17 584 T (with) 333.74 584 T (a) 358.31 584 T (security) 366.87 584 T (manager) 408.1 584 T (installed,) 452.65 584 T (there) 499.56 584 T (can) 526.78 584 T (be) 546.67 584 T 54 728/G3.1002110 FmPA (trusted) 108 570 T (code) 144.54 570 T (and) 171.07 570 T (untrusted) 192.28 570 T (code) 240.82 570 T (within) 267.35 570 T (the) 301.9 570 T (same) 320.44 570 T (applet) 348.97 570 T (or) 382.18 570 T (application.) 396.05 570 T (The) 456.25 570 T 0 F (Sharing) 478.79 570 T (Context) 520.67 570 T (Handles) 108 556 T 2 F (and) 150.81 556 T 0 F (Context) 170.95 556 T (Environment) 211.1 556 T 2 F (sections) 275.9 556 T (below) 317.38 556 T (are) 349.52 556 T (especially) 366.98 556 T (applicable) 417.78 556 T (in) 469.92 556 T (such) 482.07 556 T (a) 506.88 556 T (scenario.) 515.02 556 T (The) 108 542 T (ability) 130.09 542 T (of) 164.19 542 T (an) 177.61 542 T (applet) 192.37 542 T (or) 225.12 542 T (an) 238.54 542 T (application) 253.3 542 T (running) 310.05 542 T (with) 350.81 542 T (a) 375.58 542 T (security) 384.33 542 T (manager) 425.75 542 T (installed) 470.49 542 T (to) 514.59 542 T (access) 527.35 542 T (service) 108 528 T (providers,) 144.97 528 T (especially) 196.27 528 T (service) 247.24 528 T (providers) 284.21 528 T (that) 332.52 528 T (require) 353.5 528 T (the) 390.47 528 T (use) 408.12 528 T (of) 427.1 528 T (restricted) 440.07 528 T (resources) 487.71 528 T (\050like) 536 528 T (the file system or network connections\051 may be severely limited.) 108 514 T 3 14 Q (8.1) 72.5 486.67 T (JNDI Classes) 108 486.67 T 54 631/G3.998464 FmPA 2 12 Q (The) 108 466 T (classes) 129.8 466 T (in) 166.26 466 T (the) 178.74 466 T (JNDI) 196.54 466 T (packages) 225.67 466 T (contain) 272.79 466 T (no) 311.26 466 T (native) 326.4 466 T (methods.) 358.86 466 T (They) 405.67 466 T (do) 433.47 466 T (not) 448.61 466 T (require) 467.08 466 T (any) 504.21 466 T (special) 524.68 466 T 54 610/G3.998465 FmPA (installation in order to run inside an applet or an application.) 108 452 T (JNDI) 108 432 T (uses) 137.02 432 T (several) 160.72 432 T (system) 197.73 432 T (properties) 234.1 432 T (\050see) 285.12 432 T (Section) 307.47 432 T (6.4\051.) 346.5 432 T (This) 371.52 432 T (allows) 395.89 432 T (applets) 430.25 432 T (and) 467.28 432 T (applications) 487.64 432 T (to) 548.66 432 T 54 576/G3.998466 FmPA (be) 108 418 T (configured) 123.7 418 T (easily) 180.05 418 T (without) 212.41 418 T (much) 253.46 418 T (programming.) 284.49 418 T (However,) 357.19 418 T (an) 408.54 418 T (applet) 424.23 418 T (or) 457.93 418 T (application) 472.3 418 T (might) 529.99 418 T (have) 108 404 T (restricted) 134.08 404 T (access) 182.15 404 T (to) 216.23 404 T (some) 228.98 404 T (or) 257.74 404 T (all) 271.16 404 T (system) 286.58 404 T (properties) 323.34 404 T (as) 374.75 404 T (a) 388.17 404 T (result) 396.92 404 T (of) 427.01 404 T (the) 440.43 404 T (security) 458.51 404 T (manager) 499.93 404 T (in-) 544.67 404 T (stalled) 108 390 T (on) 143.57 390 T (the) 159.81 390 T (platform) 178.72 390 T (on) 224.29 390 T (which) 240.52 390 T (it) 274.09 390 T (is) 285.01 390 T (running.) 297.25 390 T (Consequently,) 341.82 390 T (JNDI) 415.06 390 T (also) 445.3 390 T (allows) 468.87 390 T (these) 504.44 390 T (same) 533.34 390 T (properties) 108 376 T (to) 159.12 376 T (be) 171.6 376 T (specified) 186.06 376 T (as) 232.52 376 T (applet) 245.65 376 T (parameters,) 278.12 376 T (in) 336.9 376 T (resource) 349.37 376 T (files,) 393.15 376 T (or) 419.95 376 T (as) 433.08 376 T (environment) 446.21 376 T (properties) 510.01 376 T (passed to a context.) 108 362 T (In) 108 342 T (the) 120.83 342 T (Java) 138.34 342 T (2) 162.5 342 T (Platform,) 171.34 342 T (the) 219.17 342 T (JNDI) 236.68 342 T (classes) 265.51 342 T (use) 301.67 342 T 4 10 Q (doPrivileged) 320.5 342 T 2 12 Q (blocks) 395.34 342 T (when) 429.51 342 T (accessing) 458.34 342 T (the) 507.16 342 T (system) 524.66 342 T 54 486/G3.998467 FmPA (properties listed in Section 6.4.) 108 328 T 3 14 Q (8.2) 72.5 300.67 T (Security Model) 108 300.67 T 54 445/G3.998468 FmPA 2 12 Q (JNDI) 108 280 T (does) 137.57 280 T (not) 163.15 280 T (define) 182.06 280 T (a) 215.63 280 T (security) 224.53 280 T (model) 266.1 280 T (or) 299.68 280 T (a) 313.26 280 T (common) 322.16 280 T (security) 367.74 280 T (interface) 409.31 280 T (for) 454.87 280 T (accessing) 472.44 280 T (naming) 522 280 T 54 424/G3.998469 FmPA (and) 108 266 T (directory) 128.37 266 T (servers.) 174.73 266 T (Security-related) 214.75 266 T (operations,) 294.44 266 T (such) 350.47 266 T (as) 375.51 266 T (those) 388.54 266 T (required) 416.92 266 T (for) 459.94 266 T (authentication) 476.97 266 T (or) 548 266 T (access) 108 252 T (control) 140.99 252 T (to) 177.33 252 T (the) 189 252 T (directory) 206.01 252 T (service,) 251.67 252 T (are) 290.99 252 T (dealt) 307.99 252 T (with) 333.65 252 T (by) 357.33 252 T (individual) 371.67 252 T (service) 422.68 252 T (providers.) 459.01 252 T (JNDI) 509.67 252 T (pro-) 538.01 252 T (vides) 108 238 T (the) 136.67 238 T (means) 154.68 238 T (by) 188.68 238 T (which) 204.01 238 T (an) 236.68 238 T (application) 251.35 238 T (or) 308.02 238 T (applet) 321.35 238 T (can) 354.02 238 T (pass) 374.02 238 T (such) 398.02 238 T (security-related) 423.36 238 T (information) 501.34 238 T (to) 108 224 T (service) 120.32 224 T (providers) 157.29 224 T (in) 205.59 224 T (order) 217.91 224 T (to) 246.22 224 T (establish) 258.54 224 T (a) 303.52 224 T (connection) 311.83 224 T (with) 367.47 224 T (the) 391.79 224 T (service,) 409.44 224 T (but) 449.41 224 T (does) 467.73 224 T (not) 492.7 224 T (itself) 511.02 224 T (take) 538.01 224 T (part in such security-related activities.) 108 210 T (JNDI) 108 190 T (also) 136.47 190 T (provides) 158.29 190 T (the) 202.1 190 T (means) 219.24 190 T (by) 252.39 190 T (which) 266.87 190 T (security-related) 298.68 190 T (problems) 375.8 190 T (can) 422.95 190 T (be) 442.09 190 T (indicated) 455.9 190 T (to) 502.37 190 T (the) 514.19 190 T (client) 531.34 190 T 54 334/G3.998470 FmPA (in the form of security-related exceptions.) 108 176 T (JNDI) 108 156 T (service) 137.38 156 T (providers) 174.74 156 T (are) 223.45 156 T (controlled) 241.49 156 T (by) 293.54 156 T (the) 308.92 156 T (security) 326.97 156 T (manager) 368.35 156 T (in) 413.05 156 T (place) 425.77 156 T (when) 454.47 156 T (they) 483.85 156 T (try) 507.9 156 T (to) 524.61 156 T (gain) 537.34 156 T 54 300/G3.998471 FmPA (access) 108 142 T (to) 141.82 142 T (protected) 154.33 142 T (resources) 202.16 142 T (such) 250.64 142 T (as) 275.81 142 T (the) 288.98 142 T (file) 306.82 142 T (system) 325.99 142 T (or) 362.5 142 T (network.) 375.67 142 T (Some) 421.17 142 T (service) 451.68 142 T (providers) 488.84 142 T (may) 537.34 142 T (control) 108 128 T (directory) 144.96 128 T (access) 191.24 128 T (by) 224.85 128 T (making) 239.81 128 T (use) 278.77 128 T (of) 297.72 128 T (the) 310.68 128 T (Java) 328.3 128 T (2) 352.59 128 T (Platform) 361.55 128 T (security) 406.51 128 T (architecture) 447.46 128 T (\050for) 507.06 128 T (exam-) 528.01 128 T (ple, allowing access to special ports for administration-related applets\051.) 108 114 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.33/DEST FmPD2 [/Rect[205 324 260 337]/Border[0 0 0]/Page 30/View[/XYZ null 108 549 FmDC exch pop null]/LNK FmPD [/Rect[313 428 365 441]/Border[0 0 0]/Page 30/View[/XYZ null 108 549 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "33" 37 %%Page: "34" 38 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Security Considerations) 461.61 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (34) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (8.3) 72.5 710.67 T (Access To Servers) 108 710.67 T 54 855/G3.998472 FmPA 2 12 Q (Naming) 108 690 T (and) 149.72 690 T (directory) 170.1 690 T (services) 216.47 690 T (typically) 258.18 690 T (have) 303.23 690 T (their) 328.94 690 T (own) 353.99 690 T (security) 377.7 690 T (system) 418.75 690 T (in) 455.14 690 T (place) 467.53 690 T (to) 495.9 690 T (protect) 508.29 690 T (in-) 544.67 690 T 54 834/G3.998473 FmPA (formation) 108 676 T (stored) 157.9 676 T (therein.) 189.81 676 T (For) 228.71 676 T (example,) 247.95 676 T (one) 294.18 676 T (directory) 314.09 676 T (might) 359.98 676 T (require) 390.57 676 T (that) 427.12 676 T (its) 447.7 676 T (users) 461.62 676 T (first) 488.85 676 T (\322login\323) 510.76 676 T (to) 548.66 676 T (the) 108 662 T (directory) 125.72 662 T (before) 172.1 662 T (reading) 205.8 662 T (or) 244.85 662 T (updating) 257.9 662 T (information) 302.96 662 T (in) 362.68 662 T (the) 375.07 662 T (directory.) 392.8 662 T (Some) 442.17 662 T (services) 472.57 662 T (might) 514.27 662 T (al-) 545.34 662 T (low anonymous access to part of its namespace/directory.) 108 648 T (Once) 108 628 T (a) 135.79 628 T (user) 143.58 628 T (has) 166.04 628 T (logged) 184.51 628 T (into) 219.64 628 T (a) 240.78 628 T (service,) 248.58 628 T (it) 288.03 628 T (is) 297.17 628 T (imperative) 307.64 628 T (for) 361.43 628 T (security) 377.89 628 T (reasons) 418.35 628 T (not) 456.81 628 T (to) 474.61 628 T (share) 486.42 628 T (that) 514.2 628 T (priv-) 534.67 628 T 54 772/G3.998474 FmPA (ilege with untrusted code.) 108 614 T 3 14 Q (8.4) 72.5 586.67 T (Sharing Context Handles) 108 586.67 T 54 731/G3.998475 FmPA 2 12 Q (In) 108 566 T (the) 121 566 T (following) 138.67 566 T (discussion,) 188.35 566 T (we) 244.36 566 T (refer) 261.36 566 T (to) 287.01 566 T (a) 299.35 566 T 0 F (context) 307.69 566 T (handle) 345.35 566 T 2 F (as) 381.02 566 T (a) 394.02 566 T (reference) 402.36 566 T (to) 449.99 566 T (a) 462.33 566 T 4 10 Q (Context) 470.67 566 T 2 12 Q (instance.) 515.68 566 T 54 710/G3.998476 FmPA (This) 108 552 T (is) 133.74 552 T (analogous) 146.15 552 T (to) 199.21 552 T (how) 212.95 552 T (a) 238.02 552 T (reference) 247.75 552 T (to) 296.78 552 T (a) 310.52 552 T 4 10 Q (Reader) 320.26 552 T 2 12 Q (/) 356.26 552 T 4 10 Q (Writer) 359.59 552 T 2 12 Q (/) 395.59 552 T 4 10 Q (InputStream) 398.93 552 T 2 12 Q (/) 464.93 552 T 4 10 Q (OutputStream) 468.26 552 T 2 12 Q (in-) 544.67 552 T (stance is often referred to as a) 108 538 T 0 F (file handle) 254.28 538 T 2 F (.) 305.28 538 T (A) 108 518 T (context) 119.53 518 T (handle) 157.72 518 T (should) 192.57 518 T (be) 227.44 518 T (treated) 241.63 518 T (like) 277.14 518 T (any) 298 518 T (other) 318.19 518 T (protected) 345.71 518 T (resource.) 393.23 518 T (If) 439.73 518 T (a) 450.59 518 T (piece) 458.78 518 T (of) 486.96 518 T (trusted) 499.82 518 T (code) 535.34 518 T 54 662/G3.998477 FmPA (obtains) 108 504 T (a) 146.85 504 T (context) 156.37 504 T (handle) 195.88 504 T (\050possibly) 232.05 504 T (by) 280.24 504 T (authenticating) 296.43 504 T (its) 368.6 504 T (access) 384.13 504 T (with) 418.96 504 T (the) 444.48 504 T (directory) 463.33 504 T (server\051,) 510.83 504 T (it) 551.33 504 T (should) 108 490 T (protect) 142.56 490 T (the) 178.43 490 T (use) 195.65 490 T (of) 214.2 490 T (that) 226.74 490 T (context) 247.29 490 T (against) 285.17 490 T (unauthorized) 321.72 490 T (or) 386.92 490 T (untrusted) 399.47 490 T (code.) 446.69 490 T (This) 474.9 490 T (is) 498.78 490 T (analogous) 509.34 490 T (to) 108 476 T (how) 120.99 476 T (application) 145.3 476 T (and/or) 202.28 476 T (applet) 236.59 476 T (code) 269.56 476 T (should) 295.87 476 T (protect) 331.52 476 T (file) 368.5 476 T (handles.) 388.14 476 T (For) 431.45 476 T (example,) 451.77 476 T (if) 499.08 476 T (a) 510.06 476 T (piece) 519.03 476 T (of) 548 476 T (trusted) 108 462 T (code) 144.25 462 T (opens) 170.5 462 T (a) 202.08 462 T (file) 211 462 T (for) 230.58 462 T (writing) 248.16 462 T (\050and) 286.42 462 T (it) 311.33 462 T (was) 321.6 462 T (granted) 343.84 462 T (such) 383.42 462 T (privilege) 409.01 462 T (because) 455.25 462 T (of) 496.82 462 T (its) 510.41 462 T (trusted) 525.34 462 T (nature\051,) 108 448 T (it) 148.2 448 T (should) 158.08 448 T (be) 193.3 448 T (careful) 207.84 448 T (about) 244.37 448 T (passing) 274.25 448 T (that) 313.46 448 T (file) 334.67 448 T (handle) 353.88 448 T (to) 389.09 448 T (any) 401.64 448 T (other) 422.18 448 T (pieces) 450.05 448 T (of) 483.26 448 T (code,) 496.47 448 T (trusted) 525.34 448 T (or otherwise.) 108 434 T (Similarly,) 108 414 T (giving) 158.37 414 T (access) 191.73 414 T (of) 225.07 414 T (a) 237.76 414 T (context) 245.77 414 T (handle) 283.79 414 T (to) 318.48 414 T (untrusted) 330.5 414 T (code) 377.86 414 T (may) 403.21 414 T (lead) 426.56 414 T (to) 449.24 414 T (its) 461.27 414 T (misuse) 475.3 414 T (in) 511.33 414 T (access-) 523.36 414 T 54 558/G3.998478 FmPA (ing) 108 400 T (or) 125.98 400 T (updating) 138.62 400 T (information) 183.26 400 T (in) 242.57 400 T (the) 254.54 400 T (directory,) 271.85 400 T (or) 320.81 400 T (accessing) 333.45 400 T (security-sensitive) 382.08 400 T (environment) 468.71 400 T (prop-) 532.01 400 T (erties associated with the context.) 108 386 T 3 14 Q (8.5) 72.5 358.67 T (Context Environment) 108 358.67 T 54 503/G3.998480 FmPA 2 12 Q (JNDI) 108 338 T (allows) 136.52 338 T (the) 170.38 338 T (application/applet) 187.58 338 T (to) 276.1 338 T (pass) 287.96 338 T (preferences) 311.16 338 T (and) 368.98 338 T (information) 388.84 338 T (to) 448.03 338 T (a) 459.9 338 T (context) 467.76 338 T (in) 505.61 338 T (the) 517.48 338 T (form) 534.67 338 T 54 482/G3.998481 FmPA (of) 108 324 T (an) 120.57 324 T (environment.) 134.46 324 T (The) 200.7 324 T (application/applet) 221.93 324 T (can) 310.49 324 T (also) 329.72 324 T (get) 351.62 324 T (the) 368.85 324 T (current) 386.09 324 T (environment) 422.64 324 T (from) 485.87 324 T (a) 511.77 324 T (context.) 519.67 324 T (See Chapter 6 and Appendix A for more information on a context\325s environment.) 108 310 T (The) 108 290 T (nature) 129 290 T (of) 161.32 290 T (the) 173.66 290 T (information) 190.66 290 T (contained) 249.66 290 T (in) 298.66 290 T (a) 310.33 290 T (context\325s) 318 290 T (environment) 364.33 290 T (might) 427.33 290 T (be) 457.67 290 T (sensitive) 471.34 290 T (and) 515.68 290 T (need) 535.34 290 T 54 434/G3.998482 FmPA (protection) 108 276 T (from) 159.92 276 T (untrusted) 186.5 276 T (access.) 234.43 276 T (Specifically,) 271.33 276 T (the) 334.91 276 T (environment) 352.84 276 T (properties) 416.75 276 T 4 10 Q (java.naming.se-) 468 276 T (curity.principal) 108 262 T 2 12 Q (and) 210.94 262 T 4 10 Q (java.naming.security.credentials) 235.2 262 T 2 12 Q (contain) 434.14 262 T (information) 476.4 262 T (that) 540 262 T (should) 108 248 T (not) 143.37 248 T (be) 162.06 248 T (given) 176.75 248 T (out) 206.77 248 T (to) 225.47 248 T (untrusted) 238.17 248 T (code.) 286.19 248 T (Service) 315.21 248 T (providers) 354.56 248 T (might) 403.24 248 T (take) 434.61 248 T (precaution) 457.97 248 T (to) 511.98 248 T (protect) 524.68 248 T (against) 108 234 T (accessing) 144.64 234 T (these) 193.27 234 T (properties) 220.57 234 T (\050see) 271.2 234 T 0 F (Responsibilities) 293.16 234 T (of) 371.82 234 T (Service) 383.8 234 T (Providers) 421.75 234 T 2 F (below\051.) 471.73 234 T (Client) 510.69 234 T (ap-) 542.68 234 T (plications) 108 220 T (and) 157.29 220 T (applets) 177.24 220 T (should) 213.86 220 T (take) 248.49 220 T (care) 271.1 220 T (not) 293.7 220 T (to) 311.66 220 T (pass) 323.62 220 T (context) 346.91 220 T (handles) 384.86 220 T (with) 424.14 220 T (such) 448.1 220 T (sensitive) 472.72 220 T (environ-) 517.34 220 T (ment properties to untrusted code.) 108 206 T 3 14 Q (8.6) 72.5 178.67 T (Class Loading) 108 178.67 T 54 323/G3.998483 FmPA 2 12 Q (JNDI allows the class files to be loaded dynamically.) 108 158 T 54 302/G3.998484 FmPA (When) 108 138 T (JNDI) 139.07 138 T (is) 167.47 138 T (run) 177.89 138 T (on) 196.29 138 T (the) 210.7 138 T (JDK) 227.78 138 T (1.1.x) 252.19 138 T (platform,) 278.6 138 T (it) 325.34 138 T (uses) 334.42 138 T (the) 357.5 138 T (RMI) 374.57 138 T (class) 399.65 138 T (loader.) 425.39 138 T (The) 460.79 138 T (classes) 481.86 138 T (can) 517.6 138 T (only) 536.66 138 T 54 282/G3.1001331 FmPA (be) 108 124 T (loaded) 122.02 124 T (if) 156.71 124 T (there) 166.73 124 T (is) 193.41 124 T (a) 204.11 124 T (security) 212.13 124 T (manager) 252.82 124 T (installed,) 296.83 124 T (and) 343.19 124 T (if) 363.21 124 T (that) 373.23 124 T (security) 393.93 124 T (manager) 434.61 124 T (permits) 478.62 124 T (the) 517.31 124 T (class) 534.67 124 T (to) 108 110 T (be) 120.17 110 T (loaded.) 134.32 110 T (When) 172.14 110 T (such) 203.63 110 T (classes) 228.45 110 T (are) 264.61 110 T (loaded,) 282.09 110 T (they) 319.91 110 T (run) 343.4 110 T (in) 362.23 110 T (the) 374.39 110 T (security) 391.89 110 T (context) 432.71 110 T (dictated) 470.86 110 T (by) 511.68 110 T (the) 526.51 110 T (se-) 544.01 110 T (curity manager.) 108 96 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.34/DEST FmPD2 108 512/M3.9.31601.section.75.Context.Environment FmPA 108 512/I3.1.998479 FmPA [/Rect[130 306 179 319]/Border[0 0 0]/Page 28/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "34" 38 %%Page: "35" 39 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Security Considerations) 461.61 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (35) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (When) 108 712 T (JNDI) 139.16 712 T (is) 167.65 712 T (run) 178.16 712 T (on) 196.66 712 T (the) 211.16 712 T (Java) 228.33 712 T (2) 252.15 712 T (platform,) 260.66 712 T (it) 307.49 712 T (will) 316.66 712 T (attempt) 337.84 712 T (to) 376.34 712 T (load) 388.18 712 T (such) 411.35 712 T (classes) 435.84 712 T (from) 471.67 712 T (the) 497.5 712 T (locations) 514.67 712 T 54 856/G3.1001332 FmPA (specified) 108 698 T (in) 154.13 698 T (the) 166.28 698 T (codebase) 183.75 698 T (using) 230.54 698 T (the) 259.36 698 T 4 10 Q (java.net.URLClassLoader) 276.83 698 T 2 12 Q (.) 414.83 698 T (In) 420.64 698 T (order) 433.45 698 T (for) 461.58 698 T (the) 478.39 698 T (class) 495.86 698 T (loading) 522 698 T (to) 108 684 T (succeed,) 120.57 684 T (you) 164.77 684 T (must) 186 684 T (grant) 212.57 684 T (the) 240.46 684 T (application) 258.35 684 T (and) 314.91 684 T (the) 335.47 684 T (JNDI) 353.36 684 T (and) 382.58 684 T (service) 403.14 684 T (provider) 440.35 684 T (classes) 484.23 684 T (the) 520.79 684 T (per-) 538.68 684 T (missions) 108 670 T (appropriate) 152.86 670 T (for) 210.36 670 T (the) 227.2 670 T (URLs) 244.71 670 T (named) 276.23 670 T (in) 311.07 670 T (the) 323.25 670 T (codebase.) 340.77 670 T (For) 390.6 670 T (example,) 410.11 670 T (if) 456.62 670 T (the) 466.8 670 T (URL) 484.31 670 T (scheme) 511.16 670 T (is) 550 670 T (\322http\323) 108 656 T (or) 140.03 656 T (\322ftp\323,) 152.73 656 T (you) 182.43 656 T (must) 203.13 656 T (grant) 229.18 656 T (the) 256.54 656 T (application) 273.91 656 T (the) 329.94 656 T (appropriate) 347.31 656 T 4 10 Q (java.net.SocketPermission) 404.66 656 T 2 12 Q (;) 554.66 656 T (if) 108 642 T (the) 119.11 642 T (URL) 137.54 642 T (scheme) 165.32 642 T (is) 205.08 642 T (\322file\323,) 216.86 642 T (you) 250.28 642 T (must) 272.05 642 T (grant) 299.17 642 T (the) 327.6 642 T (application) 346.04 642 T (the) 403.14 642 T (appropriate) 421.58 642 T 4 10 Q (java.io.File-) 480 642 T (Permission) 108 628 T 2 12 Q (.) 168 628 T 3 14 Q (8.7) 72.5 600.67 T (Serializable Objects) 108 600.67 T 54 745/G3.998485 FmPA 2 12 Q (Several) 108 580 T (of) 146.89 580 T (the) 159.79 580 T (JNDI) 177.35 580 T (classes) 206.25 580 T (are) 242.48 580 T (serializable.) 260.03 580 T (This) 320.58 580 T (allows) 344.82 580 T (the) 379.05 580 T (objects) 396.62 580 T (to) 433.52 580 T (be) 445.76 580 T (accessed) 459.99 580 T (in) 504.87 580 T (the) 517.1 580 T (form) 534.67 580 T 54 724/G3.998486 FmPA (of) 108 566 T (a) 120.83 566 T (byte) 129 566 T (stream,) 152.5 566 T (possibly) 190.34 566 T (outside) 233.18 566 T (of) 270.69 566 T (the) 283.52 566 T (environment) 301.03 566 T (in) 364.52 566 T (which) 376.7 566 T (they) 408.87 566 T (were) 432.37 566 T (created.) 458.52 566 T (See) 499.01 566 T (the) 519.17 566 T (doc-) 536.67 566 T (ument at the following URL regarding security issues related to serialized objects.) 108 552 T (http://java.sun.com/products/jdk/1.2/docs/guide/serialization/spec/security.doc.html) 108 532 T 54 676/G3.998487 FmPA 3 14 Q (8.8) 72.5 504.67 T (Responsibilities of Service Providers) 108 504.67 T 54 649/G3.998488 FmPA 3 12 Q (8.8.1) 66 481 T (Context Environment) 108 481 T 54 625/G3.998489 FmPA 2 F (When) 108 461 T (a) 139.55 461 T (context) 147.77 461 T (handle) 185.99 461 T (is) 220.87 461 T (created) 231.77 461 T (\050either) 269.3 461 T (by) 303.52 461 T (getting) 318.41 461 T (the) 354.64 461 T (initial) 372.19 461 T (context) 403.09 461 T (or) 441.31 461 T (by) 454.2 461 T (looking) 469.09 461 T (it) 508.66 461 T (up) 518.22 461 T (or) 533.11 461 T (by) 546 461 T 54 605/G3.998490 FmPA (creating) 108 447 T (it) 148.96 447 T (from) 157.95 447 T (the) 183.59 447 T (directory\051,) 200.57 447 T (some) 253.2 447 T (environment) 280.84 447 T (properties) 343.82 447 T (may) 394.12 447 T (be) 417.1 447 T (specified) 430.74 447 T (for) 476.37 447 T (it.) 492.67 447 T (Sometimes) 504.66 447 T (security-related) 108 433 T (properties) 185.79 433 T (are) 236.93 433 T (required) 254.74 433 T (for) 297.87 433 T (the) 315.02 433 T (creation) 332.83 433 T (of) 374.64 433 T (the) 387.79 433 T (context) 405.61 433 T (handle) 444.08 433 T (\050such) 479.23 433 T (as) 508.37 433 T (user) 521.52 433 T (in-) 544.67 433 T (formation) 108 419 T (that) 158.6 419 T (\322logs\323) 179.87 419 T (the) 213.81 419 T (user) 231.74 419 T (in) 255.01 419 T (with) 267.62 419 T (the) 292.23 419 T (directory\051.) 310.16 419 T (The) 363.75 419 T (service) 385.68 419 T (provider) 422.94 419 T (should) 466.87 419 T (take) 502.15 419 T (care) 525.41 419 T (to) 548.66 419 T (protect this security-sensitive information from untrusted code.) 108 405 T (The) 108 385 T (service) 130 385 T (provider) 167.32 385 T (needs) 211.32 385 T (to) 241.99 385 T (protect) 254.66 385 T (the) 291.33 385 T (context\325s) 309.33 385 T (environment) 356.67 385 T (from) 420.67 385 T (being) 447.33 385 T (tampered) 477.34 385 T (or) 525.33 385 T (oth-) 538.67 385 T 54 529/G3.998491 FmPA (erwise) 108 371 T (modified) 141.91 371 T (by) 187.83 371 T (untrusted) 202.43 371 T (code.) 249.68 371 T (The) 277.93 371 T (service) 299.18 371 T (provider) 335.75 371 T (needs) 379 371 T (to) 408.92 371 T (protect) 420.84 371 T (the) 456.76 371 T (security-sensitive) 474.01 371 T (environment) 108 357 T (properties) 171.4 357 T (from) 222.13 357 T (being) 248.2 357 T (read) 277.6 357 T (by) 301 357 T (untrusted) 315.74 357 T (code.) 363.14 357 T (It) 391.54 357 T (might) 401.61 357 T (do) 432.36 357 T (this) 447.1 357 T (by) 467.18 357 T (disallowing) 481.93 357 T (any) 540.67 357 T (thread) 108 343 T (whose) 141.56 343 T (execution) 175.8 343 T (context) 226.03 343 T (and/or) 264.94 343 T (trust) 299.17 343 T (level) 324.08 343 T (is) 350.99 343 T (different) 362.57 343 T (than) 407.46 343 T (that) 431.7 343 T (originally) 453.28 343 T (held) 503.52 343 T (by) 527.76 343 T (the) 543.34 343 T (thread) 108 329 T (that) 141.62 329 T (created) 163.24 329 T (the) 201.51 329 T (context) 219.8 329 T (handle) 258.76 329 T (to) 294.38 329 T (use) 307.34 329 T (the) 326.96 329 T (context) 345.26 329 T (handle.) 384.21 329 T (Or) 422.83 329 T (it) 439.12 329 T (might) 449.42 329 T (disallow) 481.05 329 T (certain) 525.35 329 T (operations) 108 315 T (\050such) 161.83 315 T (as) 191.66 315 T (accessing) 205.5 315 T (security-sensitive) 255.32 315 T (environment) 343.15 315 T (properties\051.) 407.64 315 T (Or) 466.47 315 T (it) 482.97 315 T (might) 493.48 315 T (simply) 525.32 315 T (not return security-sensitive environment properties, or only return them to trusted code.) 108 301 T 3 F (8.8.2) 66 278 T (Network Security) 108 278 T 54 422/G3.998492 FmPA 2 F (Untrusted) 108 258 T (code) 158.55 258 T (\050such) 184.42 258 T (as) 213.63 258 T (those) 226.85 258 T (found) 255.4 258 T (in) 286.62 258 T (untrusted) 299.17 258 T (applets\051) 347.05 258 T (have) 388.27 258 T (limited) 414.14 258 T (access) 451.37 258 T (to) 485.24 258 T (the) 497.79 258 T (network.) 515.68 258 T 54 402/G3.998493 FmPA (Untrusted) 108 244 T (applets,) 158.71 244 T (for) 199.1 244 T (example,) 216.48 244 T (can) 263.52 244 T (only) 283.57 244 T (create) 308.29 244 T (a) 340.32 244 T (network) 349.04 244 T (connection) 391.75 244 T (to) 447.79 244 T (the) 460.51 244 T (host) 478.57 244 T (from) 501.96 244 T (which) 528.67 244 T (they) 108 230 T (were) 131.15 230 T (downloaded.) 156.95 230 T (With) 221.08 230 T (finer-grain) 247.57 230 T (security) 301.36 230 T (models,) 341.83 230 T (it) 381.98 230 T (will) 391.14 230 T (be) 412.29 230 T (possible) 426.1 230 T (for) 467.92 230 T (the) 484.39 230 T (service) 501.54 230 T (pro-) 538.01 230 T (vider) 108 216 T (itself) 135.15 216 T (to) 161.65 216 T (be) 173.48 216 T (trusted) 187.3 216 T (code,) 222.46 216 T (and) 250.61 216 T (hence) 270.43 216 T (be) 300.91 216 T (allowed) 314.73 216 T (to) 355.22 216 T (connect) 367.05 216 T (to) 406.87 216 T (hosts) 418.7 216 T (not) 445.86 216 T (allowed) 463.69 216 T (for) 504.18 216 T (untrust-) 520.67 216 T (ed) 108 202 T (applets.) 123.11 202 T (In) 163.89 202 T (such) 177.67 202 T (a) 203.45 202 T (scenario,) 212.56 202 T (the) 259.33 202 T (service) 277.78 202 T (provider) 315.55 202 T (should) 359.99 202 T (be) 395.78 202 T (careful) 410.89 202 T (not) 447.98 202 T (to) 467.1 202 T (compromise) 480.22 202 T (the) 543.34 202 T (security) 108 188 T (intended) 149.02 188 T (by) 193.38 188 T (the) 208.4 188 T (security) 226.1 188 T (manager.) 267.11 188 T (If) 314.46 188 T (the) 325.48 188 T (service) 343.17 188 T (provider) 380.18 188 T (is) 423.86 188 T (sure) 434.9 188 T (that) 457.92 188 T (access) 478.94 188 T (by) 512.62 188 T (an) 527.65 188 T (un-) 542 188 T (trusted) 108 174 T (applet) 142.98 174 T (to) 174.63 174 T (the) 186.28 174 T (directory) 203.26 174 T (will) 248.9 174 T (cause) 269.89 174 T (no) 298.86 174 T (security) 313.18 174 T (problems,) 353.48 174 T (then) 403.47 174 T (it) 426.45 174 T (may) 435.44 174 T (proceed) 458.42 174 T (to) 498.72 174 T (offer) 510.37 174 T (such) 536 174 T (a) 108 160 T (service) 116.19 160 T (to) 153.04 160 T (untrusted) 165.24 160 T (code.) 212.77 160 T (For) 241.29 160 T (example,) 260.82 160 T (allowing) 307.34 160 T (untrusted) 352.21 160 T (code) 399.74 160 T (to) 425.26 160 T (access) 437.46 160 T (a) 470.97 160 T (directory) 479.16 160 T (\322anon-) 525.35 160 T (ymously\323) 108 146 T (would) 158.45 146 T (post) 192.24 146 T (no) 216.02 146 T (security) 231.81 146 T (problems) 273.58 146 T (because) 322.03 146 T (the) 363.8 146 T (directory) 382.24 146 T (already) 429.35 146 T (allows) 468.45 146 T (any) 503.56 146 T (anony-) 524.68 146 T (mous client \050written in the Java programming language or otherwise\051 to access the same data.) 108 132 T (Most) 108 112 T (naming) 135.48 112 T (and) 174.28 112 T (directory) 194.41 112 T (services) 240.53 112 T (are) 281.99 112 T (accessed) 299.44 112 T (over) 344.22 112 T (the) 368.35 112 T (network.) 385.82 112 T (Although) 430.95 112 T (the) 479.08 112 T (data) 496.55 112 T (request-) 519.35 112 T 54 256/G3.998494 FmPA (ed) 108 98 T (is) 122.58 98 T (protected) 133.85 98 T (by) 181.76 98 T (the) 197.01 98 T (server\325s) 214.93 98 T (authentication) 256.17 98 T (and) 327.42 98 T (access) 348 98 T (control) 381.91 98 T (mechanisms,) 419.16 98 T (some) 484.75 98 T (protocols) 513.34 98 T (do) 108 84 T (not) 122.71 84 T (protect) 140.76 84 T (\050encrypt\051) 176.79 84 T (the) 223.48 84 T (data) 240.85 84 T (being) 263.55 84 T (sent) 292.93 84 T (as) 314.97 84 T (replies.) 327.68 84 T (Again,) 365.38 84 T (this) 400.42 84 T (is) 420.47 84 T (not) 431.18 84 T (a) 449.23 84 T (problem) 457.26 84 T (particular) 499.97 84 T (to) 548.66 84 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.35/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "35" 39 %%Page: "36" 40 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Security Considerations) 461.61 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (36) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (a) 108 712 T (client) 116.47 712 T (using) 146.27 712 T (JNDI) 175.42 712 T (but) 204.55 712 T (a) 223.02 712 T (problem) 231.49 712 T (for) 274.63 712 T (any) 291.76 712 T (client) 312.23 712 T (accessing) 342.03 712 T (the) 391.16 712 T (directory.) 408.96 712 T (The) 458.42 712 T (service) 480.22 712 T (provider) 517.34 712 T (should) 108 698 T (document) 143.04 698 T (the) 193.4 698 T (security) 211.1 698 T (implications) 252.13 698 T (associated) 314.5 698 T (with) 366.86 698 T (using) 391.23 698 T (the) 420.27 698 T (associated) 437.97 698 T (directory) 490.32 698 T (over) 536.68 698 T (a network.) 108 684 T 3 F (8.8.3) 66 661 T (Accessing Local Files) 108 661 T 54 805/G3.998495 FmPA 2 F (Similar) 108 641 T (to) 146.1 641 T (network) 158.19 641 T (access,) 200.26 641 T (untrusted) 236.67 641 T (code) 284.09 641 T (has) 309.5 641 T (limited) 328.25 641 T (access) 365.01 641 T (to) 398.41 641 T (the) 410.5 641 T (local) 427.92 641 T (file) 454.01 641 T (system.) 472.76 641 T (If) 511.85 641 T (the) 522.59 641 T (ser-) 540.01 641 T 54 785/G3.998496 FmPA (vice) 108 627 T (provider) 131.4 627 T (has) 175.46 627 T (special) 194.86 627 T (privileges) 231.58 627 T (for) 282.32 627 T (accessing) 299.71 627 T (local) 349.1 627 T (files,) 375.83 627 T (it) 402.9 627 T (should) 412.98 627 T (do) 448.38 627 T (so) 463.79 627 T (with) 477.86 627 T (utmost) 502.6 627 T (pre-) 538.68 627 T (caution so as not to compromise the security policies intended by the runtime/platform.) 108 613 T 3 F (8.8.4) 66 590 T (Privileged Code, Native Methods) 108 590 T 54 734/G3.998497 FmPA 2 F (A) 108 570 T (service) 119.72 570 T (provider) 156.75 570 T (that) 200.46 570 T (is) 221.51 570 T (written) 232.57 570 T (completely) 269.62 570 T (in) 326 570 T (the) 338.39 570 T (Java) 356.1 570 T (programming) 380.48 570 T (language) 448.86 570 T (with) 495.23 570 T (no) 519.62 570 T (priv-) 534.67 570 T 54 714/G3.998498 FmPA (ileged) 108 556 T (sections) 141.1 556 T (is) 183.53 556 T (controlled) 195.3 556 T (by) 247.73 556 T (the) 263.49 556 T (same) 281.92 556 T (security) 310.35 556 T (policies) 352.11 556 T (afforded) 393.21 556 T (other) 437.62 556 T (code) 466.05 556 T (written) 492.47 556 T (in) 530.23 556 T (the) 543.34 556 T (Java) 108 542 T (programming) 132.59 542 T (language.) 201.18 542 T (All) 250.76 542 T (protected) 269.36 542 T (resources) 317.27 542 T (that) 365.85 542 T (it) 387.11 542 T (attempts) 397.04 542 T (to) 440.97 542 T (access) 453.57 542 T (go) 487.48 542 T (through) 502.74 542 T (the) 543.34 542 T (same security manager and access controller.) 108 528 T (If) 108 508 T (a) 118.97 508 T (service) 127.29 508 T (provider) 164.25 508 T (contains) 207.89 508 T (privileged) 250.87 508 T (code) 302.51 508 T (sections,) 328.15 508 T (or) 372.8 508 T (if) 385.77 508 T (it) 396.09 508 T (contains) 405.74 508 T (native) 448.72 508 T (methods,) 481.03 508 T (then) 527.68 508 T (it) 551.33 508 T 54 652/G3.998499 FmPA (needs) 108 494 T (to) 139.18 494 T (be) 152.37 494 T (especially) 167.55 494 T (careful) 219.39 494 T (to) 256.55 494 T (preserve) 269.74 494 T (the) 314.24 494 T (security) 332.76 494 T (policies) 374.6 494 T (intended) 415.79 494 T (by) 460.97 494 T (the) 476.82 494 T (runtime/plat-) 495.34 494 T (form.) 108 480 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.36/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "36" 40 %%Page: "37" 41 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Design Choices) 494.95 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (37) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 18 Q 0 X (9) 81 708 T (Design Choices) 108 708 T 54 852/G3.998522 FmPA 3 14 Q (9.1) 72.5 678.67 T (Separation of Interfaces into Context and DirContext) 108 678.67 T 54 823/G3.998524 FmPA 2 12 Q (There) 108 658 T (are) 138.43 658 T (two) 155.54 658 T (core) 175.99 658 T (interfaces) 199.09 658 T (in) 248.19 658 T (JNDI:) 259.97 658 T 4 10 Q (Context) 291.75 658 T 2 12 Q (,) 333.75 658 T (and) 339.2 658 T 4 10 Q (DirContext) 358.98 658 T 2 12 Q (,) 418.98 658 T (with) 424.43 658 T 4 10 Q (DirContext) 448.22 658 T 2 12 Q (extending) 510.67 658 T 54 802/G3.998525 FmPA (the) 108 644 T (base) 125.36 644 T (naming) 149.39 644 T (operations) 188.09 644 T (in) 240.78 644 T 4 10 Q (Context) 252.81 644 T 2 12 Q (with) 297.51 644 T (directory) 321.55 644 T (service) 367.56 644 T (operations.) 404.25 644 T (They) 459.94 644 T (have) 487.3 644 T (been) 512.65 644 T (sep-) 538.01 644 T (arated) 108 630 T (into) 140.52 630 T (separate) 162.4 630 T (interfaces) 204.92 630 T (both) 254.77 630 T (for) 279.31 630 T (modularity) 296.51 630 T (and) 352.39 630 T (also) 372.92 630 T (in) 395.46 630 T (keeping) 408 630 T (with) 449.2 630 T (the) 473.74 630 T (\322pay) 491.61 630 T (for) 517.47 630 T (what) 534.67 630 T (you use\323 goal of JNDI.) 108 616 T (Naming) 108 596 T (is) 149.64 596 T (a) 160.63 596 T (basic) 168.94 596 T (component) 196.58 596 T (found) 252.88 596 T (in) 283.86 596 T (many) 296.18 596 T (computing) 325.82 596 T (services) 380.14 596 T (such) 421.77 596 T (as) 446.75 596 T (file) 459.72 596 T (systems,) 478.7 596 T (spread-) 522.68 596 T 54 740/G3.998526 FmPA (sheets,) 108 582 T (calendar) 143.47 582 T (services,) 187.26 582 T (and) 232.05 582 T (directory) 252.52 582 T (services.) 298.98 582 T (By) 350.06 582 T (having) 367.2 582 T (a) 403.01 582 T (base) 411.48 582 T 4 10 Q (Context) 435.94 582 T 2 12 Q (interface) 481.08 582 T (for) 526.2 582 T (the) 543.34 582 T (naming) 108 568 T (operations,) 146.61 568 T (we) 202.21 568 T (enable) 218.81 568 T (its) 252.74 568 T (use) 266.69 568 T (by) 285.3 568 T (all) 299.9 568 T (these) 314.51 568 T (other) 341.78 568 T (services,) 369.05 568 T (not) 413.31 568 T (just) 431.26 568 T (for) 451.21 568 T (directory) 467.81 568 T (services.) 513.74 568 T 4 10 Q (DirContext) 108 548 T 2 12 Q (extends) 170.46 548 T 4 10 Q (Context) 209.58 548 T 2 12 Q (to) 254.04 548 T (provide) 265.84 548 T (basic) 304.96 548 T (directory) 332.08 548 T (service) 377.86 548 T (operations,) 414.31 548 T (which) 469.76 548 T (include) 501.55 548 T (ma-) 539.34 548 T 54 692/G3.998527 FmPA (nipulation) 108 534 T (of) 160.15 534 T (attributes) 173.62 534 T (associated) 221.76 534 T (with) 274.55 534 T (named) 299.36 534 T (objects,) 334.83 534 T (attribute-based) 375.3 534 T (searches,) 450.09 534 T (and) 497.21 534 T (schema-) 518.02 534 T (related operations of those attributes and named objects.) 108 520 T 3 14 Q (9.2) 72.5 492.67 T (Separation of JNDI into Different Functional Packages) 108 492.67 T 54 637/G3.998528 FmPA 2 12 Q (JNDI) 108 472 T (is) 136.59 472 T (separated) 147.19 472 T (into) 195.1 472 T (four) 216.38 472 T (client) 238.96 472 T (packages) 268.23 472 T (\050) 314.81 472 T 4 10 Q (javax.naming) 318.8 472 T 2 12 Q (,) 390.8 472 T 4 10 Q (javax.naming.directory) 396.4 472 T 2 12 Q (,) 528.4 472 T 4 10 Q (jav-) 534 472 T 54 616/G3.998529 FmPA (ax.naming.event) 108 458 T 2 12 Q (,) 198 458 T 4 10 Q (javax.naming.ldap) 208.2 458 T 2 12 Q (\051) 310.2 458 T (and) 321.4 458 T (a) 345.92 458 T (service) 358.45 458 T (provider) 399.64 458 T (package) 447.49 458 T (\050) 494 458 T 4 10 Q (javax.nam-) 498 458 T (ing.spi) 108 444 T 2 12 Q (\051.) 150 444 T (The) 159.96 444 T (idea) 181.59 444 T (is) 204.54 444 T (that) 215.51 444 T (each) 236.48 444 T (package) 261.42 444 T (contains) 303.7 444 T (the) 346.66 444 T (interfaces) 364.29 444 T (and) 413.9 444 T (classes) 434.19 444 T (required) 470.48 444 T (for) 513.43 444 T (a) 530.39 444 T (par-) 538.68 444 T (ticular) 108 430 T (category) 142.53 430 T (of) 187.72 430 T (applications,) 201.59 430 T (again) 266.46 430 T (in) 296.32 430 T (keeping) 309.53 430 T (with) 351.39 430 T (the) 376.6 430 T (\322pay) 395.14 430 T (for) 421.66 430 T (what) 439.53 430 T (you) 466.73 430 T (use\323) 488.6 430 T (goal.) 513.8 430 T (For) 541.33 430 T (example,) 108 416 T (an) 155.21 416 T (application) 170.09 416 T (that) 226.96 416 T (just) 248.52 416 T (wants) 269.41 416 T (to) 300.95 416 T (perform) 313.84 416 T (name-lookups) 356.05 416 T (only) 427.59 416 T (needs) 452.48 416 T (to) 483.35 416 T (use) 496.24 416 T (the) 515.78 416 T 4 10 Q (jav-) 534 416 T (ax.naming) 108 402 T 2 12 Q (package.) 165.64 402 T (An) 211.59 402 T (application) 229.89 402 T (that) 286.86 402 T (wants) 308.5 402 T (to) 340.13 402 T (examine/modify) 353.11 402 T (attributes) 435.4 402 T (associated) 483.7 402 T (with) 536.66 402 T (an) 108 388 T (object) 123.52 388 T (uses) 157.04 388 T (the) 181.89 388 T 4 10 Q (javax.naming) 200.75 388 T 2 12 Q (and) 276.94 388 T 4 10 Q (javax.naming.directory) 298.46 388 T 2 12 Q (packages.) 434.65 388 T (An) 485.82 388 T (application) 504.67 388 T (that) 108 374 T (needs) 128.49 374 T (to) 158.3 374 T (use) 170.13 374 T (LDAP-specific) 188.62 374 T (controls) 263.76 374 T (or) 304.91 374 T (extended) 317.4 374 T (operations) 363.21 374 T (uses) 415.69 374 T (the) 438.85 374 T 4 10 Q (javax.naming.ldap) 456 374 T 2 12 Q (package.) 108 360 T (There) 153.99 360 T (is) 185.65 360 T (a) 197.33 360 T (step-by-step) 206.34 360 T (progression) 268.67 360 T (of) 328.34 360 T (what) 342.02 360 T (classes) 369.02 360 T (and) 406.02 360 T (interfaces) 427.03 360 T (each) 477.35 360 T (category) 503.01 360 T (of) 548 360 T (application writer needs to learn and use.) 108 346 T 3 14 Q (9.3) 72.5 318.67 T (Separation of Client APIs and Service Provider Interfaces) 108 318.67 T 54 463/G3.998530 FmPA 2 12 Q (JNDI) 108 298 T (separates) 137.02 298 T (interfaces) 184.03 298 T (and) 233.71 298 T (classes) 254.06 298 T (that) 290.42 298 T (a) 311.45 298 T (client) 319.8 298 T (application) 349.5 298 T (needs) 405.85 298 T (to) 436.21 298 T (use) 448.57 298 T (from) 467.6 298 T (those) 493.96 298 T (that) 522.32 298 T (are) 543.35 298 T 54 442/G3.998531 FmPA (only) 108 284 T (of) 132.87 284 T (interest) 146.39 284 T (to) 185.25 284 T (service) 198.12 284 T (providers) 235.63 284 T (into) 284.48 284 T (different) 306.68 284 T (packages.) 351.53 284 T (For) 402.04 284 T (example,) 422.24 284 T (a) 469.42 284 T (client) 478.28 284 T (would) 508.47 284 T (use) 542 284 T (interfaces) 108 270 T (and) 157.53 270 T (classes) 177.75 270 T (from) 213.96 270 T 4 10 Q (javax.naming) 240.17 270 T 2 12 Q (,) 312.17 270 T (while) 318.06 270 T (a) 347.61 270 T (service) 355.82 270 T (provider) 392.69 270 T (that) 436.24 270 T (is) 457.12 270 T (hooking) 468.02 270 T (up) 510.24 270 T (a) 525.12 270 T (nam-) 533.34 270 T (ing) 108 256 T (service) 126.15 256 T (would) 162.94 256 T (use) 195.75 256 T (both) 214.56 256 T 4 10 Q (javax.naming) 238.7 256 T 2 12 Q (and) 313.51 256 T 4 10 Q (javax.naming.spi) 333.65 256 T 2 12 Q (.) 429.65 256 T (The) 441.08 256 T (package) 462.55 256 T (delineation) 504.67 256 T (minimizes) 108 242 T (confusion) 161.35 242 T (for) 212.02 242 T (the) 229.35 242 T (application) 247.36 242 T (developer) 304.03 242 T (and) 354.68 242 T (makes) 375.35 242 T (clear) 409.36 242 T (which) 436.01 242 T (packages) 468.68 242 T (he) 516.01 242 T (needs) 530.68 242 T (to examine when writing his program.) 108 228 T 3 14 Q (9.4) 72.5 200.67 T (Multiple methods for listing Context) 108 200.67 T 54 345/G3.998532 FmPA 2 12 Q (There) 108 180 T (are) 138.85 180 T (two) 156.37 180 T (common) 177.23 180 T (types) 222.1 180 T (of) 250.3 180 T (applications) 263.16 180 T (that) 324.02 180 T (list) 344.89 180 T (contexts:) 362.43 180 T (browser-style) 408.63 180 T (applications,) 476.81 180 T (and) 540.67 180 T 54 324/G3.998533 FmPA (applications) 108 166 T (that) 169.87 166 T (need) 191.75 166 T (to) 218.29 166 T (perform) 231.5 166 T (operations) 274.03 166 T (on) 327.9 166 T (the) 343.78 166 T (objects) 362.32 166 T (in) 400.19 166 T (a) 413.41 166 T (context) 422.61 166 T (en-masse.) 461.82 166 T (Browser-) 513.35 166 T (style) 108 152 T (applications) 133.8 152 T (typically) 194.94 152 T (want) 240.07 152 T (to) 266.54 152 T (display) 279.01 152 T (the) 316.81 152 T (names) 334.61 152 T (of) 368.41 152 T (the) 381.54 152 T (contents) 399.34 152 T (of) 442.47 152 T (a) 455.6 152 T (context.) 464.07 152 T (In) 505.53 152 T (addition) 518.66 152 T (to) 108 138 T (the) 120.01 138 T (names,) 137.34 138 T (many) 173.67 138 T (browsers) 203.01 138 T (often) 249 138 T (require) 276.33 138 T (type) 312.99 138 T (information) 336.32 138 T (of) 395.66 138 T (the) 408.32 138 T (objects) 425.66 138 T (bound) 462.33 138 T (to) 495 138 T (the) 507 138 T (names,) 524.34 138 T (so) 108 124 T (that) 121.12 124 T (it) 141.58 124 T (can) 150.71 124 T (display) 169.83 124 T (appropriate) 206.95 124 T (pictorial) 264.06 124 T (representations) 306.51 124 T (of) 381.61 124 T (the) 394.07 124 T (objects.) 411.19 124 T (The) 450.64 124 T (browser) 471.76 124 T (is) 512.87 124 T (usually) 523.33 124 T (interactive.) 108 110 T (Once) 164.56 110 T (a) 192.79 110 T (user) 201.02 110 T (has) 223.92 110 T (used) 242.83 110 T (a) 267.73 110 T (browser) 275.96 110 T (to) 317.52 110 T (display) 329.77 110 T (the) 367.34 110 T (contents) 384.92 110 T (of) 427.82 110 T (a) 440.72 110 T (context,) 448.96 110 T (he) 490.19 110 T (would) 504.43 110 T (then) 537.34 110 T (select one or a few of the entries displayed and request more information on it.) 108 96 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.37/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "37" 41 %%Page: "38" 42 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Design Choices) 494.95 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (38) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (Some) 108 712 T (applications) 137.83 712 T (need) 198.32 712 T (to) 223.46 712 T (perform) 235.29 712 T (operations) 276.44 712 T (on) 328.92 712 T (objects) 343.41 712 T (within) 379.9 712 T (a) 413.07 712 T (context) 420.89 712 T (en-masse.) 458.71 712 T (For) 508.85 712 T (exam-) 528.01 712 T 54 856/G3.998534 FmPA (ple,) 108 698 T (a) 128.67 698 T (backup) 137 698 T (program) 174.66 698 T (might) 218.32 698 T (want) 249.33 698 T (to) 275.67 698 T (perform) 288.01 698 T (\322file) 329.66 698 T (stats\323) 353.99 698 T (operations) 383.66 698 T (on) 436.65 698 T (all) 451.66 698 T (the) 466.66 698 T (objects) 484.33 698 T (in) 521.33 698 T (a) 533.67 698 T (file) 542 698 T (directory.) 108 684 T (A) 157.27 684 T (printer) 168.9 684 T (administration) 203.84 684 T (program) 276.13 684 T (might) 319.74 684 T (want) 350.71 684 T (to) 376.99 684 T (restart) 389.28 684 T (all) 422.23 684 T (the) 437.18 684 T (printers) 454.8 684 T (in) 494.42 684 T (a) 506.71 684 T (building.) 514.99 684 T (To perform such operations, these programs need to obtain all the objects bound in a context.) 108 670 T (With) 108 650 T (these) 135.57 650 T (two) 163.79 650 T (common) 185.35 650 T (styles) 230.92 650 T (of) 261.82 650 T (usage) 275.38 650 T (in) 306.27 650 T (mind,) 319.17 650 T (the) 350.41 650 T 4 10 Q (Context) 368.64 650 T 2 12 Q (interface) 414.2 650 T (has) 459.74 650 T (two) 479.3 650 T (types) 500.87 650 T (of) 529.76 650 T (list) 543.32 650 T 54 794/G3.998535 FmPA (methods:) 108 636 T 4 10 Q (list\050\051) 154.41 636 T 2 12 Q (and) 192.82 636 T 4 10 Q (listBindings\050\051) 212.55 636 T 2 12 Q (.) 296.55 636 T 4 10 Q (list\050\051) 309.19 636 T 2 12 Q (returns) 347.59 636 T (a) 383.33 636 T (list) 391.06 636 T (of) 408.14 636 T (name/class-name) 420.55 636 T (pairs) 505.6 636 T (while) 531.34 636 T 4 10 Q (listBindings\050\051) 108 622 T 2 12 Q (returns) 197.5 622 T (a) 236.33 622 T (list) 247.16 622 T (of) 267.35 622 T (name/class-name/object) 282.85 622 T (tuples.) 403.66 622 T 4 10 Q (list\050\051) 440.83 622 T 2 12 Q (is) 482.33 622 T (designed) 495.84 622 T (for) 544.01 622 T (browser-style) 108 608 T (applications) 175.81 608 T (that) 236.3 608 T (want) 256.79 608 T (mostly) 282.61 608 T (just) 317.78 608 T (the) 337.61 608 T (names) 354.76 608 T (and) 387.92 608 T (types) 407.74 608 T (of) 435.56 608 T (objects) 448.05 608 T (bound) 484.54 608 T (in) 517.03 608 T (a) 528.86 608 T (con-) 536.68 608 T (text.) 108 594 T 4 10 Q (listBindings\050\051) 131.82 594 T 2 12 Q (is) 218.65 594 T (for) 229.48 594 T (applications) 246.29 594 T (that) 307.11 594 T (want) 327.94 594 T (to) 354.09 594 T (potentially) 366.25 594 T (get) 420.41 594 T (all) 437.9 594 T (the) 452.72 594 T (objects) 470.21 594 T (in) 507.03 594 T (the) 519.19 594 T (con-) 536.68 594 T (text,) 108 580 T (as) 132.57 580 T (well) 146.13 580 T (as) 170.37 580 T (their) 183.93 580 T (names) 209.49 580 T (and) 243.72 580 T (types.) 264.62 580 T 4 10 Q (listBindings\050\051) 296.52 580 T 2 12 Q (returns) 384.09 580 T (an) 420.98 580 T (enumeration) 435.88 580 T (of) 499.43 580 T 4 10 Q (Binding) 513 580 T 2 12 Q (.) 555 580 T (Both) 108 566 T (the) 133.6 566 T 4 10 Q (listBindings\050\051) 150.52 566 T 2 12 Q (operation) 236.78 566 T (itself) 284.36 566 T (and) 310.62 566 T (invocation) 330.21 566 T (of) 383.13 566 T (methods) 395.39 566 T (in) 438.31 566 T (the) 449.91 566 T 4 10 Q (Binding) 466.83 566 T 2 12 Q (class) 511.09 566 T (\050e.g.) 536.67 566 T 4 10 Q (getObject\050\051) 108 552 T 2 12 Q (\051) 174 552 T (could) 181.3 552 T (be) 211.27 552 T (implemented) 225.9 552 T (lazily) 291.87 552 T (or) 321.84 552 T (eagerly.) 335.14 552 T (Using) 376.77 552 T 4 10 Q (listBindings\050\051) 408.74 552 T 2 12 Q (simply) 499.35 552 T (indi-) 535.33 552 T (cates) 108 538 T (the) 135.51 538 T (potential) 153.7 538 T (that) 199.22 538 T (the) 220.74 538 T (caller) 238.92 538 T (might) 269.1 538 T (want) 300.62 538 T (all) 327.48 538 T (or) 343 538 T (many) 356.51 538 T (of) 386.7 538 T (the) 400.22 538 T (objects) 418.4 538 T (in) 455.92 538 T (the) 468.78 538 T (context) 486.96 538 T (so) 525.81 538 T (that) 540 538 T (implementations) 108 524 T (that) 190.96 524 T (are) 211.92 524 T (able) 229.53 524 T (can) 252.49 524 T (optimize) 272.1 524 T (for) 317.06 524 T (it.) 334.01 524 T (Using) 346.64 524 T 4 10 Q (list\050\051) 378.27 524 T 2 12 Q (indicates) 417.23 524 T (that) 462.85 524 T (the) 483.81 524 T (caller) 501.43 524 T (is) 531.04 524 T (un-) 542 524 T (likely) 108 510 T (to) 137.96 510 T (want) 149.93 510 T (all,) 175.89 510 T (if) 193.52 510 T (any,) 203.48 510 T (objects) 226.44 510 T (in) 263.06 510 T (the) 275.03 510 T (context) 292.32 510 T (so) 330.28 510 T (implementations) 343.58 510 T (can) 426.21 510 T (optimize) 445.49 510 T (for) 490.12 510 T (that) 506.74 510 T (if) 527.37 510 T (pos-) 537.34 510 T (sible.) 108 496 T (An) 108 476 T (alternative) 125.97 476 T (is) 179.92 476 T (to) 191.23 476 T (have) 203.86 476 T (a) 229.82 476 T (single) 238.45 476 T (list) 270.42 476 T (operation) 288.4 476 T (and) 337.03 476 T (have) 357.66 476 T (the) 383.61 476 T (lazy) 401.58 476 T (or) 424.87 476 T (eager) 438.17 476 T (behavior) 467.45 476 T (as) 512.74 476 T (part) 526.04 476 T (of) 548 476 T 54 620/G3.998536 FmPA (the) 108 462 T (implementation) 125.73 462 T (of) 204.13 462 T 4 10 Q (Binding) 217.19 462 T 2 12 Q (.) 259.19 462 T (The) 265.25 462 T (advantage) 286.98 462 T (of) 338.69 462 T (this) 351.75 462 T (is) 372.16 462 T (that) 383.22 462 T (there) 404.29 462 T (is) 431.34 462 T (a) 442.41 462 T (single) 450.8 462 T (list) 482.54 462 T (operation) 500.27 462 T (to) 548.66 462 T (learn.) 108 448 T (The) 138.13 448 T (disadvantage) 159.93 448 T (is) 225.72 448 T (that) 236.86 448 T (the) 258 448 T (caller) 275.8 448 T (has) 305.59 448 T (no) 324.73 448 T (way) 339.87 448 T (of) 363 448 T (indicating) 376.14 448 T (which) 427.27 448 T (piece) 459.74 448 T (of) 488.2 448 T (information) 501.34 448 T (he) 108 434 T (wants) 122.72 434 T (back) 154.11 434 T (from) 180.16 434 T (list,) 206.88 434 T (and) 227.95 434 T (subsequently,) 248.67 434 T (implementations) 317.73 434 T (cannot) 401.12 434 T (optimize) 436.51 434 T (for) 481.9 434 T (the) 499.29 434 T (eventual) 517.34 434 T (behavior of the program.) 108 420 T 3 14 Q (9.5) 72.5 392.67 T (Support for Federation) 108 392.67 T 54 537/G3.998537 FmPA 2 12 Q (Federation) 108 372 T (is) 162.11 372 T (a) 172.91 372 T (first-class) 181.02 372 T (concept) 230.47 372 T (in) 270.58 372 T (JNDI.) 282.7 372 T (In) 314.48 372 T (the) 327.27 372 T (client) 344.72 372 T (interfaces,) 374.17 372 T (it) 426.61 372 T (is) 436.07 372 T (supported) 446.86 372 T (by) 496.98 372 T (the) 511.77 372 T (use) 529.22 372 T (of) 548 372 T 54 516/G3.998538 FmPA (the) 108 358 T 4 10 Q (Name) 126.03 358 T 2 12 Q (interface) 153.39 358 T (for) 198.73 358 T (specifying) 216.09 358 T (names) 269.44 358 T (that) 303.47 358 T (can) 324.83 358 T (span) 344.85 358 T (one) 370.21 358 T (or) 390.9 358 T (more) 404.26 358 T (namespaces.) 432.29 358 T (The) 495.96 358 T (caller) 517.99 358 T (of) 548 358 T (the) 108 344 T (methods) 125.88 344 T (in) 169.76 344 T (the) 182.3 344 T (client) 200.18 344 T (interface) 230.05 344 T (need) 275.24 344 T (not) 301.11 344 T (know) 319.65 344 T (anything) 349.53 344 T (else) 394.74 344 T (regarding) 416.61 344 T (federation.) 465.81 344 T (Resolu-) 520.67 344 T (tion) 108 330 T (of) 129.26 330 T (names) 141.84 330 T (across) 175.08 330 T (multiple) 207.66 330 T (systems) 250.25 330 T (is) 290.84 330 T (handled) 301.43 330 T (by) 342.01 330 T (the) 356.59 330 T (SPI) 373.84 330 T (and) 393.77 330 T (does) 413.68 330 T (not) 438.26 330 T (involve) 456.18 330 T (any) 494.77 330 T (interven-) 514.68 330 T (tion on the part of the caller.) 108 316 T (Although) 108 296 T (federation) 156.12 296 T (is) 207.55 296 T (a) 218.34 296 T (first-class) 226.45 296 T (concept,) 275.89 296 T (that) 319 296 T (does) 339.78 296 T (not) 364.56 296 T (mean) 382.68 296 T (that) 411.46 296 T (all) 432.24 296 T (callers) 447.02 296 T (and) 481.13 296 T (service) 501.24 296 T (pro-) 538.01 296 T 54 440/G3.998539 FmPA (viders) 108 282 T (must) 140.17 282 T (make) 166.35 282 T (use) 195.18 282 T (of) 214.01 282 T (it.) 226.85 282 T (If) 239.36 282 T (an) 250.19 282 T (application) 264.35 282 T (or) 320.52 282 T (service) 333.36 282 T (does) 370.18 282 T (not) 395.01 282 T (want) 413.19 282 T (to) 439.35 282 T (take) 451.53 282 T (advantage) 474.36 282 T (of) 525.84 282 T (fed-) 538.68 282 T (eration,) 108 268 T (there) 148.64 268 T (is) 176.94 268 T (no) 189.25 268 T (requirement) 205.57 268 T (that) 267.86 268 T 4 10 Q (Name) 290.18 268 T 2 12 Q (always) 318.49 268 T (span) 356.12 268 T (multiple) 382.43 268 T (namespaces.) 426.75 268 T 4 10 Q (Name) 491.38 268 T 2 12 Q (can) 519.69 268 T (just) 540.66 268 T (name) 108 254 T (objects) 136.91 254 T (within) 173.82 254 T (a) 207.41 254 T (single) 215.65 254 T (namespace,) 247.23 254 T (and) 305.79 254 T (the) 326.03 254 T (SPI) 343.61 254 T (can) 363.87 254 T (handle) 383.44 254 T (name) 418.35 254 T (resolution) 447.25 254 T (within) 498.17 254 T (a) 531.76 254 T (sin-) 540 254 T (gle namespace as well \050as a degenerate case of multiple namespace support\051.) 108 240 T 3 14 Q (9.6) 72.5 212.67 T (DirContext versus DirObject) 108 212.67 T 54 357/G3.998540 FmPA 2 12 Q (Instead) 108 192 T (of) 145.25 192 T (having) 157.84 192 T 4 10 Q (DirContext) 193.1 192 T 2 12 Q (extend) 255.69 192 T 4 10 Q (Context) 290.28 192 T 2 12 Q (,) 332.28 192 T (an) 337.87 192 T (alternative) 351.79 192 T (would) 405.04 192 T (be) 437.63 192 T (to) 451.55 192 T (not) 463.48 192 T (extend) 481.41 192 T 4 10 Q (Context) 516 192 T 54 336/G3.998541 FmPA 2 12 Q (at) 108 178 T (all) 120.01 178 T (but) 135.35 178 T (to) 154.03 178 T (have) 166.7 178 T (a) 192.7 178 T (separate) 201.37 178 T (interface) 244.03 178 T (called) 289.34 178 T 4 10 Q (DirObject) 321.34 178 T 2 12 Q (that) 378.68 178 T (encapsulates) 400.03 178 T (all) 464.02 178 T (the) 479.36 178 T (directory-re-) 497.36 178 T (lated) 108 164 T (methods.) 134.89 164 T (In) 182.11 164 T (that) 195.67 164 T (case,) 217.23 164 T (an) 244.44 164 T (object) 259.32 164 T (can) 292.21 164 T (implement) 312.42 164 T (both) 367.32 164 T 4 10 Q (Context) 392.21 164 T 2 12 Q (and) 437.77 164 T 4 10 Q (DirObject) 458.66 164 T 2 12 Q (if) 516.22 164 T (it) 527.1 164 T (sup-) 537.34 164 T (ports) 108 150 T (both) 139.09 150 T (the) 167.52 150 T (naming) 189.28 150 T (and) 232.37 150 T (directory) 256.79 150 T (operations;) 307.21 150 T (another) 367.63 150 T (object) 410.71 150 T (might) 447.13 150 T (implement) 482.23 150 T (just) 540.66 150 T 4 10 Q (DirObject) 108 136 T 2 12 Q (.) 162 136 T (The) 108 116 T (problem) 130.48 116 T (with) 174.3 116 T (eliminating) 199.45 116 T 4 10 Q (DirContext) 257.95 116 T 2 12 Q (is) 321.77 116 T (that) 333.59 116 T 4 10 Q (DirContext) 355.41 116 T 2 12 Q (contains) 419.23 116 T (some) 463.05 116 T (hybrid) 492.2 116 T (opera-) 527.35 116 T 54 260/G3.998542 FmPA (tions) 108 102 T (that) 134.76 102 T (involve) 156.19 102 T (both) 195.62 102 T (naming) 220.38 102 T (and) 259.8 102 T (directories) 280.56 102 T (\050) 334.63 102 T 4 10 Q (bind\050\051) 338.63 102 T 2 12 Q (,) 374.63 102 T 4 10 Q (createSubcontext\050\051) 381.05 102 T 2 12 Q (methods) 495.91 102 T (that) 540 102 T (accept) 108 88 T (attributes) 141.01 88 T (as) 188.04 88 T (arguments\051.) 200.4 88 T (To) 259.75 88 T (keep) 275.44 88 T (these) 300.46 88 T (operations) 327.49 88 T 0 F (and) 379.84 88 T 2 F (have) 400.2 88 T 4 10 Q (DirObject) 425.22 88 T 2 12 Q (at) 481.59 88 T (the) 492.61 88 T (same) 509.64 88 T (time) 536.66 88 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.38/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "38" 42 %%Page: "39" 43 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Design Choices) 494.95 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (39) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (would) 108 712 T (produce) 140.82 712 T (the) 182.29 712 T (need) 199.77 712 T (for) 225.24 712 T (a) 242.05 712 T (third) 250.19 712 T (interface) 275.68 712 T (\050perhaps) 320.47 712 T (called) 364.6 712 T 4 10 Q (DirContext) 396.07 712 T 2 12 Q (\051) 456.07 712 T (to) 462.89 712 T (contain) 475.04 712 T (just) 513.18 712 T (these) 533.34 712 T (hybrids.) 108 698 T (Furthermore,) 108 678 T (having) 174.17 678 T 4 10 Q (DirContext) 210.02 678 T 2 12 Q (instead) 273.21 678 T (of) 310.39 678 T 4 10 Q (DirObject) 323.57 678 T 2 12 Q (is) 380.76 678 T (somewhat) 391.95 678 T (more) 443.79 678 T (convenient) 471.64 678 T (in) 527.48 678 T (that) 540 678 T 54 822/G3.998543 FmPA (you) 108 664 T (can) 128.39 664 T (perform) 147.43 664 T (some) 188.48 664 T (operations) 216.2 664 T (in) 268.58 664 T (one) 280.3 664 T (step) 300.02 664 T (instead) 321.74 664 T (of) 358.12 664 T (two.) 370.51 664 T (For) 393.9 664 T (example) 412.95 664 T 4 10 Q (DirContext.getAt-) 456 664 T (tributes\050\051) 108 650 T 2 12 Q (could) 171.27 650 T (be) 201.2 650 T (used) 215.79 650 T (to) 241.05 650 T (get) 253.66 650 T (the) 271.59 650 T (attributes) 289.52 650 T (associated) 337.45 650 T (with) 390.04 650 T (a) 414.64 650 T (named) 423.23 650 T (object,) 458.49 650 T (whereas) 494.08 650 T (with) 536.66 650 T 4 10 Q (DirObject) 108 636 T 2 12 Q (,) 162 636 T (you) 168.67 636 T (would) 190.34 636 T (need) 224.01 636 T (first) 250.34 636 T (to) 273.34 636 T (resolve) 286.35 636 T (to) 324.67 636 T (the) 337.68 636 T (object) 356.01 636 T (\050) 389.01 636 T 4 10 Q (Context.lookup\050\051) 393.01 636 T 2 12 Q (\051) 489.01 636 T (and) 496.67 636 T (then) 517.67 636 T (use) 542 636 T 4 10 Q (DirObject.getAttributes\050\051) 108 622 T 2 12 Q ( to get the attributes from it.) 258 622 T 3 14 Q (9.7) 72.5 594.67 T (Support for Schemas) 108 594.67 T 54 739/G3.998544 FmPA 2 12 Q (The) 108 574 T 4 10 Q (DirContext) 129.22 574 T 2 12 Q (interface) 191.78 574 T (contains) 236.32 574 T (support) 278.88 574 T (for) 317.44 574 T (schemas.) 334 574 T (For) 380.21 574 T (example,) 399.44 574 T (from) 445.66 574 T (a) 471.55 574 T 4 10 Q (DirContext) 479.44 574 T 2 12 Q (ob-) 542 574 T 54 718/G3.998545 FmPA (ject) 108 560 T (you) 127.94 560 T (can) 148.55 560 T (obtain) 167.81 560 T (its) 200.42 560 T (schema) 214.37 560 T (object,) 252.97 560 T (which) 287.91 560 T (points) 319.85 560 T (to) 351.8 560 T (the) 363.74 560 T (directory) 381.02 560 T (space) 426.95 560 T (where) 456.21 560 T (the) 488.14 560 T (schema) 505.41 560 T (for) 544.01 560 T (this) 108 546 T (particular) 127.86 546 T 4 10 Q (DirContext) 176.36 546 T 2 12 Q (instance) 238.87 546 T (is) 280.71 546 T (defined.) 291.23 546 T (From) 332.74 546 T (a) 361.26 546 T 4 10 Q (DirContext) 369.1 546 T 2 12 Q (object,) 431.62 546 T (you) 466.46 546 T (can) 486.98 546 T (also) 506.15 546 T (obtain) 528 546 T (its) 108 532 T (schema) 122.28 532 T (class) 161.2 532 T (definition) 187.47 532 T (\050i.e.) 237.07 532 T (information) 258.67 532 T (about) 318.27 532 T (what) 347.87 532 T (type) 374.13 532 T (of) 397.73 532 T (object) 410.67 532 T (this) 442.93 532 T (represents) 463.21 532 T (in) 514.79 532 T (the) 527.07 532 T (di-) 544.67 532 T (rectory\051.) 108 518 T (There) 151.7 518 T (is) 182.41 518 T (further) 193.14 518 T (support) 228.52 518 T (for) 267.24 518 T (schemas) 283.96 518 T (in) 327.34 518 T (the) 339.4 518 T 4 10 Q (Attribute) 356.78 518 T 2 12 Q (class,) 413.51 518 T (which) 442.56 518 T (contains) 474.61 518 T (methods) 517.33 518 T (for) 108 504 T (obtaining) 124.44 504 T (an) 172.23 504 T (attribute\325s) 186 504 T (syntax) 237.11 504 T (information) 270.89 504 T (\050i.e.) 330.01 504 T (what) 351.11 504 T (is) 376.89 504 T (the) 387.34 504 T (type) 404.46 504 T (of) 427.57 504 T (the) 440.01 504 T (attribute\325s) 457.13 504 T (value\051) 508.23 504 T (and) 540.67 504 T (the) 108 490 T (attribute\325s) 125.64 490 T (definition) 177.29 490 T (\050e.g.) 226.93 490 T (is) 251.24 490 T (it) 262.22 490 T (multivalued,) 271.88 490 T (syntax,) 335.19 490 T (constraints) 372.5 490 T (on) 427.48 490 T (its) 442.46 490 T (syntax\051.) 456.78 490 T (There) 504.05 490 T (is) 535.02 490 T (no) 546 490 T (requirement) 108 476 T (that) 169.22 476 T (any) 190.46 476 T (of) 211.02 476 T (this) 224.25 476 T (schema) 244.82 476 T (information) 284.05 476 T (be) 343.95 476 T (dynamically) 358.51 476 T (accessible) 421.07 476 T (\050i.e.) 472.96 476 T (points) 494.85 476 T (to) 527.43 476 T (live) 540 476 T (directory) 108 462 T (spaces\051.) 155.24 462 T (Support) 197.48 462 T (for) 239.41 462 T (such) 257.33 462 T (schema) 283.25 462 T (information) 323.16 462 T (could) 383.75 462 T (be) 414.34 462 T (generated) 429.59 462 T (statically) 480.16 462 T (by) 527.41 462 T (the) 543.34 462 T (service) 108 448 T (provider.) 144.55 448 T (For) 190.76 448 T (example,) 209.99 448 T (a) 256.21 448 T (particular) 264.1 448 T (directory) 312.65 448 T (service) 358.53 448 T (might) 395.08 448 T (only) 425.65 448 T (support) 449.54 448 T (string) 488.11 448 T (attribute) 518 448 T (values,) 108 434 T (so) 144.53 434 T (it) 158.06 434 T (can) 167.6 434 T (hard-wire) 187.12 434 T (the) 236.63 434 T (syntax) 254.16 434 T (of) 288.36 434 T (the) 301.23 434 T (attributes) 318.76 434 T (that) 366.29 434 T (it) 387.15 434 T (returns.) 396.69 434 T (Another) 441.61 434 T (directory) 483.8 434 T (might) 529.99 434 T (support) 108 420 T (only) 146.65 420 T (static) 170.63 420 T (schemas) 198.61 420 T (\050where) 241.91 420 T (information) 277.87 420 T (in) 337.18 420 T (the) 349.17 420 T (schema) 366.48 420 T (are) 405.11 420 T (not) 422.41 420 T (modifiable\051.) 440.4 420 T (Yet) 502.04 420 T (another) 522.01 420 T (directory) 108 406 T (might) 154.24 406 T (support) 185.17 406 T (fully) 224.1 406 T (dynamic) 249.69 406 T (schemas.) 293.94 406 T (The) 340.52 406 T (interfaces) 362.1 406 T (and) 411.67 406 T (classes) 431.92 406 T (in) 468.17 406 T 4 10 Q (DirContext) 480.42 406 T 2 12 Q (are) 543.35 406 T (flexible enough that these different levels of support for schemas can be accommodated.) 108 392 T 3 14 Q (9.8) 72.5 364.67 T (Overloaded Methods in Context and DirContext) 108 364.67 T 54 509/G3.998546 FmPA 2 12 Q (For) 108 344 T (each) 128.85 344 T (method) 155.02 344 T (in) 195.21 344 T (the) 208.73 344 T 4 10 Q (Context) 227.58 344 T 2 12 Q (and) 273.76 344 T 4 10 Q (DirContext) 295.28 344 T 2 12 Q (interfaces) 359.46 344 T (that) 410.29 344 T (accepts) 432.48 344 T (a) 471.98 344 T 4 10 Q (Name) 481.49 344 T 2 12 Q (argument,) 509.68 344 T 54 488/G3.998547 FmPA (there) 108 330 T (is) 136.46 330 T (a) 148.93 330 T (corresponding) 158.73 330 T (overloaded) 231.85 330 T (form) 289.64 330 T (that) 317.43 330 T (accepts) 339.9 330 T (a) 379.69 330 T 4 10 Q (String) 389.49 330 T 2 12 Q (argument) 429.95 330 T (for) 479.75 330 T (specifying) 498.21 330 T (a) 552.67 330 T (name.) 108 316 T (The) 108 296 T (motivation) 129.95 296 T (for) 185.24 296 T (having) 202.52 296 T (the) 238.47 296 T 4 10 Q (String) 256.42 296 T 2 12 Q (-based) 292.42 296 T (methods) 327.02 296 T (is) 370.98 296 T (that) 382.27 296 T (there) 403.55 296 T (are) 430.83 296 T (many) 448.77 296 T (applications) 478.72 296 T (that) 540 296 T 54 440/G3.998548 FmPA (simply) 108 282 T (accept) 145.01 282 T (a) 180 282 T (string) 189.67 282 T (name) 221.34 282 T (from) 251.67 282 T (the) 279.34 282 T (end-user) 298.34 282 T (and) 344 282 T (perform) 365.67 282 T (context) 408.66 282 T (methods) 448.32 282 T (on) 493.33 282 T (the) 509.67 282 T (object) 528.67 282 T (named) 108 268 T (by) 142.95 268 T (that) 157.91 268 T (string) 178.88 268 T (name.) 209.17 268 T (For) 241.12 268 T (those) 260.75 268 T (applications,) 289.05 268 T (it) 353 268 T (is) 362.64 268 T (useful) 373.6 268 T (to) 405.89 268 T (have) 418.19 268 T (the) 443.8 268 T (context) 461.43 268 T (methods) 499.72 268 T (ac-) 543.35 268 T (cept) 108 254 T (a) 130.52 254 T (string) 138.37 254 T (for) 168.23 254 T (the) 184.75 254 T (name) 201.94 254 T (directly,) 230.46 254 T (instead) 272.64 254 T (of) 309.16 254 T (requiring) 321.68 254 T (the) 368.2 254 T (applications) 385.39 254 T (to) 445.91 254 T (first) 457.77 254 T (construct) 479.63 254 T (a) 526.15 254 T 4 10 Q (Name) 534 254 T 2 12 Q (object using the string name.) 108 240 T (The) 108 220 T (motivation) 129.19 220 T (for) 183.72 220 T (having) 200.24 220 T (the) 235.43 220 T 4 10 Q (Name) 252.63 220 T 2 12 Q (-based) 276.63 220 T (methods) 310.47 220 T (is) 353.67 220 T (that) 364.2 220 T (there) 384.73 220 T (are) 411.24 220 T (also) 428.42 220 T (many) 450.28 220 T (applications) 479.48 220 T (that) 540 220 T 54 364/G3.998549 FmPA (manipulate) 108 206 T (names) 164.31 206 T (and) 197.95 206 T (do) 218.26 206 T (not) 233.24 206 T (want) 251.56 206 T (to) 277.87 206 T (worry) 290.19 206 T (about) 321.83 206 T (syntactic) 351.47 206 T (details) 397.11 206 T (of) 431.42 206 T (the) 444.4 206 T (names\325) 462.05 206 T (string) 499.69 206 T (forms) 530 206 T (when) 108 192 T (composing) 136.48 192 T (and) 191.65 192 T (modifying) 211.46 192 T (names.) 263.96 192 T (These) 300.11 192 T (applications) 331.26 192 T (deal) 391.75 192 T (with) 414.23 192 T (the) 438.06 192 T (parsed) 455.22 192 T (form) 489.03 192 T (of) 514.85 192 T (names) 527.34 192 T (and) 108 178 T (hence) 128.51 178 T (would) 159.68 178 T (prefer) 192.86 178 T (to) 224.69 178 T (deal) 237.21 178 T (with) 260.39 178 T 4 10 Q (Name) 284.91 178 T 2 12 Q (objects) 312.09 178 T (rather) 349.27 178 T (than) 380.44 178 T (string) 404.29 178 T (names.) 434.81 178 T (For) 471.65 178 T (these) 491.5 178 T (applica-) 519.35 178 T (tions,) 108 164 T (we) 137.11 164 T (provide) 153.88 164 T (the) 193.31 164 T 4 10 Q (Name) 210.75 164 T 2 12 Q (-based) 234.75 164 T (methods) 268.85 164 T (in) 312.29 164 T (the) 324.4 164 T (context) 341.83 164 T (interfaces.) 379.94 164 T (Not) 432.35 164 T (providing) 453.13 164 T (these) 502.57 164 T (meth-) 530 164 T (ods) 108 150 T (would) 127.27 150 T (probably) 159.88 150 T (cause) 205.15 150 T (proliferation) 234.41 150 T (of) 297 150 T 4 10 Q (Name) 309.6 150 T 2 12 Q (-like) 333.6 150 T (interfaces/classes) 358.2 150 T (to) 444.11 150 T (support) 456.06 150 T (manipulation) 494.66 150 T (of names in their structural form in applications developed on top of JNDI.) 108 136 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.39/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "39" 43 %%Page: "40" 44 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Design Choices) 494.95 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (40) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (9.9) 72.5 710.67 T (Reference and Referenceable) 108 710.67 T 54 855/G3.998550 FmPA 2 12 Q (There) 108 690 T (are) 138.93 690 T (different) 156.52 690 T (ways) 200.78 690 T (in) 228.38 690 T (which) 240.66 690 T (applications) 272.92 690 T (and) 333.86 690 T (services) 354.13 690 T (can) 395.73 690 T (use) 415.32 690 T (the) 434.26 690 T (directory) 451.87 690 T (to) 498.13 690 T (locate) 510.41 690 T (ob-) 542 690 T 54 834/G3.998551 FmPA (jects.) 108 676 T (JNDI) 136.18 676 T (is) 165.36 676 T (general) 176.55 676 T (enough) 215.05 676 T (that) 253.56 676 T (it) 274.75 676 T (accommodates) 284.61 676 T (several) 359.11 676 T (different) 396.28 676 T (models.) 440.78 676 T (For) 481.63 676 T (some) 501.49 676 T (appli-) 530 676 T (cations,) 108 662 T (the) 148.87 662 T (object) 167.41 662 T (bound) 200.62 662 T (in) 234.5 662 T (the) 247.71 662 T (directory) 266.25 662 T (is) 313.45 662 T (the) 325.33 662 T (object) 343.87 662 T (itself.) 377.08 662 T (An) 407.96 662 T (application) 426.5 662 T (may) 483.7 662 T (build) 508.24 662 T (up) 536.79 662 T (a) 552.67 662 T (dynamic) 108 648 T (directory) 151.87 648 T (while) 197.74 648 T (the) 226.95 648 T (application) 244.16 648 T (is) 300.03 648 T (active,) 310.58 648 T (and) 344.78 648 T (delete) 364.65 648 T (the) 395.85 648 T (directory) 413.06 648 T (when) 458.93 648 T (the) 487.46 648 T (application) 504.67 648 T (exits.) 108 634 T (Another) 136.29 634 T (application) 178.23 634 T (might) 234.18 634 T (store) 264.8 634 T (URLs) 290.75 634 T (as) 322.04 634 T (attributes) 334.65 634 T (for) 381.93 634 T (locating) 398.55 634 T (objects) 439.83 634 T (in) 476.44 634 T (its) 488.4 634 T (namespace.) 502.36 634 T (Other) 108 620 T (systems) 137.8 620 T (might) 178.28 620 T (bind) 208.77 620 T (some) 232.58 620 T (reference) 260.39 620 T (information) 307.5 620 T (in) 366.64 620 T (the) 378.46 620 T (directory,) 395.6 620 T (which) 444.4 620 T (can) 476.2 620 T (subsequently) 495.34 620 T (be) 108 606 T (used) 121.69 606 T (to) 146.04 606 T (locate) 157.74 606 T (or) 188.75 606 T (access) 201.1 606 T (the) 234.11 606 T (actual) 251.13 606 T (object.) 282.15 606 T (This) 316.83 606 T (last) 340.53 606 T (case) 359.55 606 T (is) 382.56 606 T (quite) 392.93 606 T (common,) 419.29 606 T (especially) 466.64 606 T (for) 516.99 606 T (mak-) 533.34 606 T (ing) 108 592 T (Java) 126.57 592 T (applications) 151.12 592 T (take) 212.35 592 T (advantage) 235.57 592 T (of) 287.44 592 T (services) 300.67 592 T (in) 342.55 592 T (the) 355.12 592 T (installed) 373.01 592 T (base.) 416.91 592 T (The) 444.46 592 T (reference) 466.35 592 T (in) 514.21 592 T (the) 526.77 592 T (di-) 544.67 592 T (rectory acts as a \322pointer\323 to the real object.) 108 578 T (JNDI) 108 558 T (defines) 137.13 558 T (a) 174.92 558 T 4 10 Q (Reference) 183.39 558 T 2 12 Q (class) 240.53 558 T (to) 266.99 558 T (provide) 279.46 558 T (a) 319.26 558 T (uniform) 327.73 558 T (way) 369.53 558 T (of) 392.66 558 T (representing) 405.79 558 T (reference) 468.25 558 T (informa-) 516.01 558 T 54 702/G3.998552 FmPA (tion.) 108 544 T (A) 132.73 544 T 4 10 Q (Reference) 144.46 544 T 2 12 Q (contains) 201.52 544 T (information) 244.58 544 T (on) 304.3 544 T (how) 319.36 544 T (to) 343.09 544 T (access) 355.49 544 T (an) 389.2 544 T (object.) 403.59 544 T (It) 438.98 544 T (consists) 449.37 544 T (of) 490.43 544 T (a) 503.49 544 T (list) 511.88 544 T (of) 529.62 544 T (ad-) 542.67 544 T (dresses) 108 530 T (and) 145.93 530 T (class) 166.52 530 T (information) 193.12 530 T (about) 253.05 530 T (the) 282.99 530 T (object) 300.92 530 T (to) 333.52 530 T (which) 346.12 530 T (this) 378.72 530 T (reference) 399.33 530 T (refers.) 447.23 530 T (When) 480.81 530 T (binding) 512.73 530 T (a) 552.67 530 T (name) 108 516 T (to) 137.17 516 T (an) 149.68 516 T (object) 164.18 516 T (that) 196.68 516 T (is) 217.85 516 T (to) 229.03 516 T (be) 241.54 516 T (represented) 256.04 516 T (in) 314.53 516 T (the) 327.04 516 T (directory) 344.87 516 T (as) 391.37 516 T (a) 404.54 516 T (reference,) 413.04 516 T (the) 463.84 516 T (desired) 481.68 516 T (effect) 519.51 516 T (is) 549.99 516 T (that) 108 502 T (the) 128.45 502 T (object\325s) 145.57 502 T (reference) 186.01 502 T (be) 233.09 502 T (extracted) 246.87 502 T (and) 293.3 502 T (bound.) 313.08 502 T (To) 348.54 502 T (allow) 364.32 502 T (for) 393.44 502 T (this) 409.88 502 T (behavior,) 429.67 502 T (the) 477.11 502 T (object\325s) 494.23 502 T (class) 534.67 502 T (must implement the) 108 488 T 4 10 Q (Referenceable) 206.34 488 T 2 12 Q ( interface, which contains the method) 284.34 488 T 4 10 Q (getReference\050\051) 467.3 488 T 2 12 Q (.) 551.3 488 T (There) 108 468 T (is) 138.71 468 T (some) 149.44 468 T (similarity) 177.5 468 T (between) 226.24 468 T (the) 268.95 468 T (interfaces) 286.34 468 T 4 10 Q (Serializable) 335.72 468 T 2 12 Q (and) 410.44 468 T 4 10 Q (Referenceable) 430.5 468 T 2 12 Q (and) 511.23 468 T (a) 531.28 468 T (nat-) 539.34 468 T 54 612/G3.998553 FmPA (ural) 108 454 T (question) 129.69 454 T (is) 173.38 454 T (\322why) 184.41 454 T (not) 213.43 454 T (just) 231.79 454 T (use) 252.16 454 T 4 10 Q (Serializable) 271.18 454 T 2 12 Q (instead?\323) 346.21 454 T (The) 393.89 454 T (answer) 415.57 454 T (is) 452.58 454 T (that) 463.61 454 T (a) 484.64 454 T (serialized) 492.99 454 T (ob-) 542 454 T (ject) 108 440 T (is) 128.11 440 T (really) 138.9 440 T (a) 169.01 440 T (frozen) 177.13 440 T (version) 210.56 440 T (of) 248.67 440 T (the) 261.45 440 T (object,) 278.9 440 T (whereas) 314.02 440 T (the) 356.12 440 T (reference) 373.57 440 T (contains) 420.98 440 T (just) 463.76 440 T (the) 483.89 440 T (information) 501.34 440 T (needed) 108 426 T (to) 145.11 426 T (construct) 157.57 426 T (it.) 204.68 426 T (The) 217.48 426 T (serialized) 239.26 426 T (version) 288.36 426 T (may) 326.82 426 T (have) 350.6 426 T (a) 376.38 426 T (lot) 384.83 426 T (more) 400.63 426 T (state) 428.41 426 T (which) 453.53 426 T (may) 485.98 426 T (not) 509.77 426 T (be) 528.22 426 T (ap-) 542.68 426 T (propriate for storage in the directory.) 108 412 T 3 14 Q (9.10) 65.5 384.67 T (Automatically Turning References into Objects) 108 384.67 T 54 529/G3.998554 FmPA 2 12 Q (For) 108 364 T (an) 127.05 364 T (object) 140.76 364 T (that) 172.47 364 T (is) 192.85 364 T (bound) 203.24 364 T (as) 235.62 364 T (a) 247.99 364 T 4 10 Q (Reference) 255.71 364 T 2 12 Q (in) 312.09 364 T (the) 323.8 364 T (directory,) 340.85 364 T (JNDI) 389.55 364 T (SPI) 417.92 364 T (framework) 437.65 364 T (automatically) 492.67 364 T 54 508/G3.998555 FmPA (creates) 108 350 T (and) 143.81 350 T (instantiates) 163.63 350 T (the) 220.13 350 T (object) 237.29 350 T (identified) 269.11 350 T (by) 317.6 350 T (the) 332.1 350 T (reference.) 349.26 350 T (In) 399.38 350 T (this) 411.88 350 T (way,) 431.71 350 T (the) 457.2 350 T (program) 474.36 350 T (can) 517.51 350 T (sim-) 536.66 350 T (ply) 108 336 T (narrow) 126.12 336 T (the) 162.89 336 T (result) 180.34 336 T (of) 209.78 336 T 4 10 Q (lookup\050\051) 222.56 336 T 2 12 Q (to) 273.35 336 T (the) 285.47 336 T (expected) 302.92 336 T (class,) 348.35 336 T (instead) 377.46 336 T (of) 414.24 336 T (calling) 427.02 336 T (a) 462.47 336 T (separate) 470.58 336 T (operation) 512.67 336 T (to transform the result of) 108 322 T 4 10 Q (lookup\050\051) 230.32 322 T 2 12 Q ( into an object of the expected class.) 278.32 322 T (For) 108 302 T (example,) 127.73 302 T (if) 174.45 302 T (you) 184.84 302 T (are) 205.91 302 T (looking) 223.62 302 T (up) 263.36 302 T (a) 278.42 302 T (printer) 286.81 302 T (object,) 321.86 302 T (a) 357.26 302 T (successful) 365.65 302 T (lookup) 418.03 302 T (would) 454.43 302 T (return) 487.49 302 T (to) 519.21 302 T (you) 531.61 302 T (a) 552.67 302 T 54 446/G3.998556 FmPA (printer object that you can directly use.) 108 288 T 4 10 Q (Printer prt = \050Printer\051 ctx.lookup\050somePrinterName\051;) 140.4 269.33 T 54 413/G3.998557 FmPA (prt.print\050someFileName\051;) 140.4 257.33 T 54 401/G3.998558 FmPA 2 12 Q (JNDI) 108 238 T (does) 137.28 238 T (this) 162.56 238 T (automatically,) 183.19 238 T (instead) 254.8 238 T (of) 292.08 238 T (requiring) 305.36 238 T (an) 352.64 238 T (explicit) 367.26 238 T (conversion) 406.54 238 T (step,) 462.48 238 T (because) 488.1 238 T (this) 529.37 238 T (is) 550 238 T 54 382/G3.998559 FmPA (expected) 108 224 T (to) 154.94 224 T (be) 168.56 224 T (the) 184.18 224 T (common) 203.14 224 T (usage) 249.43 224 T (pattern.) 281.04 224 T (By) 321.65 224 T (having) 339.95 224 T (the) 376.9 224 T 4 10 Q (Reference) 395.86 224 T 2 12 Q (class,) 454.15 224 T (and) 484.76 224 T (a) 506.38 224 T (common) 516 224 T (mechanism) 108 210 T (for) 165.51 210 T (converting) 182.35 210 T (a) 236.53 210 T 4 10 Q (Reference) 244.71 210 T 2 12 Q (into) 301.56 210 T (the) 323.08 210 T (object) 340.59 210 T (identified) 372.77 210 T (by) 421.62 210 T (the) 436.47 210 T 4 10 Q (Reference) 453.98 210 T 2 12 Q (,) 507.98 210 T (JNDI) 513.83 210 T (en-) 542.68 210 T (courages) 108 196 T (different) 153.63 196 T (applications) 197.92 196 T (and) 258.89 196 T (system) 279.2 196 T (providers) 315.51 196 T (to) 363.82 196 T (utilize) 376.13 196 T (this) 409.11 196 T (mechanism,) 429.43 196 T (rather) 490.06 196 T (than) 521.03 196 T (in-) 544.67 196 T (venting separate mechanisms on their own.) 108 182 T 54 307/G3.996747 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.40/DEST FmPD2 [/Dest/L3/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "40" 44 %%Page: "41" 45 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Standard Environment Properties) 398.29 749.33 T 54 893/G4.999032 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (41) 301 36 T (7/14/99) 527.44 36 T 54 180/G4.999039 FmPA 72 180/G4.999041 FmPA 72 180/G4.999043 FmPA 72 180/G4.999045 FmPA 54 72 558 720 R 7 X V 54 840/G4.998632 FmPA 3 18 Q 0 X ( Appendix A: JNDI Standard Environment Properties) 97.5 415 T 54 559/G4.998661 FmPA 54 532/G4.999392 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.41/DEST FmPD2 [/Dest/F4/DEST FmPD2 202 571/M4.9.26369.appendix.Appendix.C.Environment.Properties FmPA 202 571/I4.1.999399 FmPA [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "41" 45 %%Page: "42" 46 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Standard Environment Properties) 398.29 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (42) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 F 0 X (T) 221.24 710.67 T (able 1: JNDI En) 226.99 710.67 T (vir) 295.76 710.67 T (onment Pr) 307.8 710.67 T (operties) 352.89 710.67 T 3 8 Q (a) 386.77 714.67 T 54 855/G4.999116 FmPA 3 10 Q (Pr) 60 686 T (ogram Con\336guration) 70.37 686 T 3 8 Q (b) 160.65 690 T 54 830/G4.999403 FmPA 4 10 Q (java.naming.factory.initial) 60 666 T 54 810/G4.999407 FmPA (\050Context.INITIAL_CONTEXT_FACTORY\051) 60 654 T 54 798/G4.999578 FmPA 2 F (Class name of initial conte) 285 666 T (xt f) 391.51 666 T (actory to use.) 405.02 666 T 279 810/G4.999409 FmPA (See) 285 654 T 4 F (InitialContext) 301.94 654 T 2 F (.) 385.94 654 T 279 798/G4.999456 FmPA (No def) 285 642 T (ault.) 312.39 642 T 279 786/G4.999739 FmPA 4 F (java.naming.factory.object) 60 622 T 54 766/G4.999412 FmPA (\050Context.OBJECT_FACTORIES\051) 60 610 T 54 754/G4.999579 FmPA 2 F (Colon-separated) 285 622 T (list) 352.89 622 T (of) 367.48 622 T (class) 378.16 622 T (names) 399.96 622 T (of) 427.86 622 T (object) 438.54 622 T (f) 465.34 622 T (actory) 468.57 622 T (classes) 495.91 622 T (to) 526.04 622 T (use.) 536.17 622 T 279 766/G4.999415 FmPA (See) 285 610 T 4 F (NamingManager.getObjectInstance\050\051) 301.94 610 T 2 F ( and) 499.94 610 T 279 754/G4.999454 FmPA 4 F (DirectoryManager.getObjectInstance\050\051) 285 598 T 2 F (.) 501 598 T (Def) 285 586 T (aults to empty list.) 299.89 586 T 279 730/G4.999729 FmPA 4 F (java.naming.factory.state) 60 566 T 54 710/G4.999615 FmPA (\050Context.STATE_FACTORIES\051) 60 554 T 54 698/G4.999616 FmPA 2 F (Colon-separated list of class names of state f) 285 566 T (actory classes to use.) 463.48 566 T 279 710/G4.999618 FmPA (See) 285 554 T 4 F (NamingManager.getStateToBind\050\051) 301.94 554 T 2 F ( and) 481.94 554 T 4 F (Direc) 501.38 554 T (t-) 531.38 554 T 279 698/G4.999731 FmPA (oryManager.getStateToBind\050\051) 285 542 T 2 F (.) 447 542 T (Def) 285 530 T (aults to empty list.) 299.89 530 T 279 674/G4.999734 FmPA 4 F (java.naming.factory.control) 60 510 T 54 654/G4.999632 FmPA (\050LdapContext.CONTROL_FACTORIES\051) 60 498 T 54 642/G4.999633 FmPA 2 F (Colon-separated list of class names of response control f) 285 510 T (actory) 510.97 510 T 279 654/G4.999635 FmPA (classes to use.) 285 498 T (See) 285 486 T 4 F (ControlFactory.getControlInstance\050\051) 301.94 486 T 2 F (.) 511.94 486 T 279 630/G4.999637 FmPA (Def) 285 474 T (aults to empty list.) 299.89 474 T 279 618/G4.999737 FmPA 4 F (java.naming.factory.url.pkgs) 60 454 T 54 598/G4.999440 FmPA (\050Context.URL_PKG_PREFIXES\051) 60 442 T 54 586/G4.999580 FmPA 2 F (Colon-separated list of package pre\336x) 285 454 T (es to use when loading in) 437.04 454 T 279 598/G4.999442 FmPA (URL) 285 442 T (conte) 307.37 442 T (xt) 328.88 442 T (f) 339.04 442 T (actories.) 342.27 442 T 4 F (com.sun.jndi.url) 378.24 442 T 2 F (is) 476.61 442 T (al) 485.65 442 T (w) 492.77 442 T (ays) 499.89 442 T (added) 515.59 442 T (to) 541.85 442 T (end of list.) 285 430 T (See) 285 418 T 4 F (NamingManager.getURLContext\050\051) 301.94 418 T 2 F (.) 475.94 418 T 279 562/G4.999455 FmPA (Def) 285 406 T (aults to empty list.) 299.89 406 T 279 550/G4.999738 FmPA 3 F (Access Con\336guration) 60 383.33 T 3 8 Q (c) 150.83 387.33 T 54 527/G4.999124 FmPA 4 10 Q (java.naming.provider.url) 60 363.33 T 54 507/G4.999128 FmPA (\050Context.PROVIDER_URL\051) 60 351.33 T 54 495/G4.999581 FmPA 2 F (Speci\336es con\336guration information for pro) 285 363.33 T (vider to use.) 456.5 363.33 T 279 507/G4.999166 FmPA (Def) 285 351.33 T (aults) 299.89 351.33 T (to) 321.1 351.33 T (pro) 331.19 351.33 T (vider) 344.37 351.33 T (def) 367.24 351.33 T (ault,) 379.91 351.33 T (using) 399.72 351.33 T (pro) 423.71 351.33 T (vider\325) 436.89 351.33 T (s) 460.22 351.33 T (o) 466.42 351.33 T (wn) 471.17 351.33 T (con\336guration) 485.71 351.33 T (or) 541.35 351.33 T 279 495/G4.999167 FmPA (disco) 285 339.33 T (v) 305.96 339.33 T (ery protocols.) 310.81 339.33 T 4 F (java.naming.dns.url) 60 319.33 T 54 463/G4.999132 FmPA (\050Context.DNS_URL\051) 60 307.33 T 54 451/G4.999582 FmPA 2 F (Speci\336es the DNS host and domain names.) 285 319.33 T 279 463/G4.999186 FmPA (No def) 285 307.33 T (ault.) 312.39 307.33 T 279 451/G4.999740 FmPA 3 F (Ser) 60 287.33 T (vice-Related) 74.34 287.33 T 54 431/G4.999140 FmPA 4 F (java.naming.authoritative) 60 267.33 T 54 411/G4.999144 FmPA (\050Context.AUTHORITATIVE\051) 60 255.33 T 54 399/G4.999583 FmPA 2 F (Speci\336es the authoritati) 285 267.33 T (v) 379.19 267.33 T (eness of the service requested. If \322true\323,) 384.04 267.33 T 279 411/G4.999200 FmPA (speci\336es most authoritati) 285 255.33 T (v) 384.75 255.33 T (e source is to be used \050e.g., bypass an) 389.6 255.33 T (y) 539.14 255.33 T (caches, or bypass replicas in some systems\051. Otherwise, source) 285 243.33 T (need not be \050b) 285 231.33 T (ut can be\051 authoritati) 341.73 231.33 T (v) 424.52 231.33 T (e.) 429.37 231.33 T (Def) 285 219.33 T (aults to \322f) 299.89 219.33 T (alse\323.) 339.23 219.33 T 279 363/G4.999225 FmPA 4 F (java.naming.batchsize) 60 199.33 T 54 343/G4.999148 FmPA (\050Context.BATCHSIZE\051) 60 187.33 T 54 331/G4.999584 FmPA 2 F (Speci\336es the preferred batch size to use when returning data via) 285 199.33 T 279 343/G4.999212 FmPA (the service\325) 285 187.33 T (s protocol. This is a hint to the pro) 330.82 187.33 T (vider to return the) 468.17 187.33 T (results of operations in batches of the speci\336ed size, so that the) 285 175.33 T (pro) 285 163.33 T (vider can optimize its performance and usage of resources. It) 298.18 163.33 T (does not af) 285 151.33 T (fect the total number or size of the data returned.) 328.63 151.33 T (Def) 285 139.33 T (aults to pro) 299.89 139.33 T (vider def) 344.74 139.33 T (ault.) 380.46 139.33 T 279 283/G4.999214 FmPA 54 701.08 54 132.25 2 L V 0.5 H 0 Z N 279 678.92 279 398.42 2 L V N 279 376.25 279 299.75 2 L V N 279 280.25 279 131.75 2 L V N 558 701.08 558 132.25 2 L V N 53.75 701.33 558.25 701.33 2 L V N 53.75 678.67 558.25 678.67 2 L V N 53.75 634.67 558.25 634.67 2 L V N 53.75 578.67 558.25 578.67 2 L V N 53.75 522.67 558.25 522.67 2 L V N 53.75 466.67 558.25 466.67 2 L V N 53.75 398.67 558.25 398.67 2 L V N 53.75 376 558.25 376 2 L V N 53.75 332 558.25 332 2 L V N 53.75 300 558.25 300 2 L V N 53.75 280 558.25 280 2 L V N 53.75 212 558.25 212 2 L V N 53.75 132 558.25 132 2 L V N [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.42/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "42" 46 %%Page: "43" 47 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Standard Environment Properties) 398.29 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (43) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 54 433/G4.998453 FmPA 4 F 0 X (java.naming.referral) 60 688.67 T 54 833/G4.999460 FmPA (\050Context.REFERRAL\051) 60 676.67 T 54 821/G4.999585 FmPA 2 F (Speci\336es that referrals encountered by the service pro) 285 688.67 T (vider are to) 499.51 688.67 T 279 833/G4.999462 FmPA (be follo) 285 676.67 T (wed automatically) 315.58 676.67 T (. If \322follo) 388.53 676.67 T (w\323, follo) 425.77 676.67 T (w referrals automati-) 461.07 676.67 T (cally) 285 664.67 T (. If \322ignore\323, ignore referrals encountered. If \322thro) 303.79 664.67 T (w\323, thro) 504.57 664.67 T (w) 537.09 664.67 T 4 F (ReferralException) 285 652.67 T 2 F ( when a referral is encountered.) 387 652.67 T (Def) 285 640.67 T (aults to pro) 299.89 640.67 T (vider def) 344.74 640.67 T (ault.) 380.46 640.67 T 279 785/G4.999473 FmPA 3 F (Security) 60 620.67 T 54 765/G4.999152 FmPA 4 F (java.naming.security.protocol) 60 600.67 T 54 745/G4.999251 FmPA (\050Context.SECURITY_PROTOCOL\051) 60 588.67 T 54 733/G4.999586 FmPA 2 F (Security protocol to use for service.) 285 600.67 T 279 745/G4.999261 FmPA (Def) 285 588.67 T (aults to pro) 299.89 588.67 T (vider def) 344.74 588.67 T (ault.) 380.46 588.67 T 279 733/G4.999267 FmPA 4 F (java.naming.security.authentication) 60 568.67 T 54 713/G4.999247 FmPA (\050Context.SECURITY_AUTHENTICATION\051) 60 556.67 T 54 701/G4.999587 FmPA 2 F (T) 285 568.67 T (ak) 290.31 568.67 T (es v) 299.65 568.67 T (alues \322none\323, \322simple\323, \322strong\323, or a pro) 315.23 568.67 T (vider) 481.98 568.67 T (-speci\336c) 502.33 568.67 T 279 713/G4.999277 FmPA (string \050e.g., \322CRAM-MD5 DIGEST) 285 556.67 T (-MD5 EXTERN) 428.51 556.67 T (AL\323\051.) 494.54 556.67 T (Def) 285 544.67 T (aults to pro) 299.89 544.67 T (vider def) 344.74 544.67 T (ault.) 380.46 544.67 T 279 689/G4.999278 FmPA 4 F (java.naming.security.principal) 60 524.67 T 54 669/G4.999243 FmPA (\050Context.SECURITY_PRINCIPAL\051) 60 512.67 T 54 657/G4.999588 FmPA 2 F (Identity of principal \050e.g., user\051 for the authentication scheme.) 285 524.67 T 279 669/G4.999292 FmPA (Def) 285 512.67 T (aults to pro) 299.89 512.67 T (vider def) 344.74 512.67 T (ault.) 380.46 512.67 T 279 657/G4.999293 FmPA 4 F (java.naming.security.credentials) 60 492.67 T 54 637/G4.999239 FmPA (\050Context.SECURITY_CREDENTIALS\051) 60 480.67 T 54 625/G4.999591 FmPA 2 F (Principal\325) 285 492.67 T (s credentials for the authentication scheme.) 323.89 492.67 T 279 637/G4.999313 FmPA (The particular type of credentials is determined by the authentica-) 285 480.67 T 279 625/G4.999751 FmPA (tion) 285 468.67 T (scheme) 302.99 468.67 T (chosen.) 335.4 468.67 T (Examples) 368.1 468.67 T (of) 409.96 468.67 T (dif) 420.72 468.67 T (ferent) 431.58 468.67 T (types) 457.33 468.67 T (of) 480.86 468.67 T (credentials) 491.62 468.67 T (are) 537.36 468.67 T (passw) 285 456.67 T (ords, k) 309.34 456.67 T (e) 336.46 456.67 T (ys, and certi\336cates.) 340.75 456.67 T (Def) 285 444.67 T (aults to pro) 299.89 444.67 T (vider def) 344.74 444.67 T (ault.) 380.46 444.67 T 279 589/G4.999318 FmPA 3 F (Inter) 60 424.67 T (nationalization) 81.51 424.67 T 54 569/G4.999235 FmPA 4 F (java.naming.language) 60 404.67 T 54 549/G4.999348 FmPA (\050Context.LANGUAGE\051) 60 392.67 T 54 537/G4.999592 FmPA 2 F (Speci\336es a colon-separated list of preferred language to use with) 285 404.67 T 279 549/G4.999358 FmPA (this service \050e.g., \322en-US\323,) 285 392.67 T (\322fr\323, \322fr) 398.47 392.67 T (-CH\323, \322ja-JP-kanji\323\051.) 429.91 392.67 T (Languages are speci\336ed using tags de\336ned in RFC 1766.) 285 380.67 T 279 525/G4.999363 FmPA (Def) 285 368.67 T (aults to pro) 299.89 368.67 T (vider def) 344.74 368.67 T (ault.) 380.46 368.67 T 279 513/G4.999360 FmPA 54 355.33 558 361.33 C 0 0 0 1 0 0 0 1 K 0 0 612 792 C 0 0 0 1 0 0 0 1 K 2 10 Q 0 X (a.) 72 348.67 T (The) 84 348.67 T 4 9 Q (Context) 101.76 348.67 T 2 10 Q (and) 141.77 348.67 T 4 9 Q (LdapContext) 158.42 348.67 T 2 10 Q (interf) 220.03 348.67 T (aces) 241.59 348.67 T (de\336ne) 261.01 348.67 T (constants) 287.66 348.67 T (for) 327.09 348.67 T (these) 340.96 348.67 T (property) 363.73 348.67 T (names.) 399.82 348.67 T (The) 430.08 348.67 T (names) 447.84 348.67 T (of) 475.6 348.67 T (the) 486.14 348.67 T (constants) 500.57 348.67 T 54 493/G4.999608 FmPA (are sho) 84 336.67 T (wn in parentheses belo) 112.35 336.67 T (w the property\325) 203.47 336.67 T (s string names.) 264.57 336.67 T (b) 72 324.67 T (.) 76.6 324.67 T (These properties may be set in the Ja) 84 324.67 T (v) 231.27 324.67 T (a runtime\325) 236.02 324.67 T (s system properties or in an applet\325) 276.85 324.67 T (s parameter list.) 416.28 324.67 T 54 469/G4.999680 FmPA (c.) 72 312.67 T (These properties may be set in the Ja) 84 312.67 T (v) 231.27 312.67 T (a runtime\325) 236.02 312.67 T (s system properties or in an applet\325) 276.85 312.67 T (s parameter list.) 416.28 312.67 T 54 457/G4.999686 FmPA 3 F (T) 221.24 710.67 T (able 1: JNDI En) 226.99 710.67 T (vir) 295.76 710.67 T (onment Pr) 307.8 710.67 T (operties) 352.89 710.67 T 3 8 Q (a) 386.77 714.67 T 54 701.08 54 361.58 2 L V 0.5 H 0 Z N 279 701.58 279 633.08 2 L V N 279 613.58 279 437.08 2 L V N 279 417.58 279 361.08 2 L V N 558 701.08 558 361.58 2 L V N 53.75 701.33 558.25 701.33 2 L V N 53.75 633.33 558.25 633.33 2 L V N 53.75 613.33 558.25 613.33 2 L V N 53.75 581.33 558.25 581.33 2 L V N 53.75 537.33 558.25 537.33 2 L V N 53.75 505.33 558.25 505.33 2 L V N 53.75 437.33 558.25 437.33 2 L V N 53.75 417.33 558.25 417.33 2 L V N 53.75 361.33 558.25 361.33 2 L V N [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.43/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "43" 47 %%Page: "44" 48 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Standard Environment Properties) 398.29 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (44) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.44/DEST FmPD2 [/Dest/L4/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "44" 48 %%Page: "45" 49 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 893/G5.1000965 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (45) 301 36 T (7/14/99) 527.44 36 T 54 180/G5.1000972 FmPA 72 180/G5.1000974 FmPA 72 180/G5.1000976 FmPA 72 180/G5.1000978 FmPA 54 72 558 720 R 7 X V 54 840/G5.1000405 FmPA 3 18 Q 0 X ( Appendix B: Examples for LDAP Programmers) 119.02 415 T 54 559/G5.1000406 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.45/DEST FmPD2 [/Dest/F5/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "45" 49 %%Page: "46" 50 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (46) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 2 12 Q 0 X (This) 108 712 T (appendix) 132.52 712 T (contains) 179.7 712 T (sample) 222.88 712 T (JNDI) 260.06 712 T (programs) 289.23 712 T (intended) 337.74 712 T (to) 382.26 712 T (help) 394.78 712 T (a) 418.62 712 T (developer) 427.14 712 T (familiar) 477.64 712 T (with) 518.82 712 T (the) 543.34 712 T 54 856/G5.998649 FmPA (LDAP) 108 698 T (C) 142.03 698 T (API.) 152.73 698 T (Starting) 180.45 698 T (with) 221.15 698 T (sample) 245.18 698 T (programs) 281.87 698 T (from) 329.89 698 T (the) 355.92 698 T (Netscape) 373.28 698 T (Directory) 419.95 698 T (SDK) 468.63 698 T (for) 495.33 698 T (accessing) 512.02 698 T (and) 108 684 T (updating) 128.73 684 T (the) 174.13 684 T (directory) 192.19 684 T (using) 238.91 684 T (the) 268.31 684 T (LDAP) 286.37 684 T (C) 321.11 684 T (API,) 332.51 684 T (we) 358.24 684 T (show) 375.63 684 T (the) 404.36 684 T (equivalent) 422.42 684 T (way) 475.82 684 T (of) 499.21 684 T (doing) 512.6 684 T (the) 543.34 684 T (same thing for Java applications using JNDI.) 108 670 T 54 794/G5.998665 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.46/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "46" 50 %%Page: "47" 51 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (47) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 3 14 Q 0 X (B.1) 54 710.67 T ( Search the Directory) 77.34 710.67 T 54 855/G5.998650 FmPA 3 12 Q (B.1.1) 64 687 T (Search Using LDAP C API) 108 687 T 54 831/G5.998752 FmPA 4 9 Q (/*) 140.4 669 T 54 813/G5.998683 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 658 T 54 802/G5.1003565 FmPA ( * rights reserved.) 140.4 647 T 54 791/G5.1003566 FmPA ( *) 140.4 636 T 54 780/G5.1003567 FmPA ( * Search the directory for all people whose surname \050last name\051 is) 140.4 625 T 54 769/G5.1003568 FmPA ( * \322Jensen\323. Since the \322sn\323 attribute is a caseignorestring \050cis\051, case) 140.4 614 T 54 758/G5.1003569 FmPA ( * is not significant when searching.) 140.4 603 T 54 747/G5.1003570 FmPA ( *) 140.4 592 T 54 736/G5.1003571 FmPA ( */) 140.4 581 T 54 725/G5.1003572 FmPA 54 714/G5.1003573 FmPA (#include \322examples.h\323) 140.4 559 T 54 703/G5.1003574 FmPA 54 692/G5.1003575 FmPA (int) 140.4 537 T 54 681/G5.1003576 FmPA (main\050 int argc, char **argv \051) 140.4 526 T 54 670/G5.1003577 FmPA ({) 140.4 515 T 54 659/G5.1003578 FmPA ( LDAP *ld;) 140.4 504 T 54 648/G5.1003579 FmPA ( LDAPMessage *result, *e;) 140.4 493 T 54 637/G5.1003580 FmPA ( BerElement *ber;) 140.4 482 T 54 626/G5.1003581 FmPA ( char *a, *dn;) 140.4 471 T 54 615/G5.1003582 FmPA ( char **vals;) 140.4 460 T 54 604/G5.1003583 FmPA ( int i;) 140.4 449 T 54 593/G5.1003584 FmPA 54 582/G5.1003585 FmPA ( /* get a handle to an LDAP connection */) 140.4 427 T 54 571/G5.1003586 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 416 T 54 560/G5.1003587 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 405 T 54 549/G5.1003588 FmPA ( return\050 1 \051;) 140.4 394 T 54 538/G5.1003589 FmPA ( }) 140.4 383 T 54 527/G5.1003590 FmPA ( /* authenticate to the directory as nobody */) 140.4 372 T 54 516/G5.1003591 FmPA ( if \050 ldap_simple_bind_s\050 ld, NULL, NULL \051 != LDAP_SUCCESS \051 {) 140.4 361 T 54 505/G5.1003592 FmPA ( ldap_perror\050 ld, \322ldap_simple_bind_s\323 \051;) 140.4 350 T 54 494/G5.1003593 FmPA ( return\050 1 \051;) 140.4 339 T 54 483/G5.1003594 FmPA ( }) 140.4 328 T 54 472/G5.1003595 FmPA ( /* search for all entries with surname of Jensen */) 140.4 317 T 54 461/G5.1003596 FmPA ( if \050 ldap_search_s\050 ld, MY_SEARCHBASE, LDAP_SCOPE_SUBTREE,) 140.4 306 T 54 450/G5.1003597 FmPA ( MY_FILTER, NULL, 0, &result \051 != LDAP_SUCCESS \051 {) 140.4 295 T 54 439/G5.1003598 FmPA ( ldap_perror\050 ld, \322ldap_search_s\323 \051;) 140.4 284 T 54 428/G5.1003599 FmPA ( return\050 1 \051;) 140.4 273 T 54 417/G5.1003600 FmPA ( }) 140.4 262 T 54 406/G5.1003601 FmPA ( /* for each entry print out name + all attrs and values */) 140.4 251 T 54 395/G5.1003602 FmPA ( for \050 e = ldap_first_entry\050 ld, result \051; e != NULL;) 140.4 240 T 54 384/G5.1003603 FmPA ( e = ldap_next_entry\050 ld, e \051 \051 {) 140.4 229 T 54 373/G5.1003604 FmPA ( if \050 \050dn = ldap_get_dn\050 ld, e \051\051 != NULL \051 {) 140.4 218 T 54 362/G5.1003605 FmPA ( printf\050 \322dn: %s\134n\323, dn \051;) 140.4 207 T 54 351/G5.1003606 FmPA ( ldap_memfree\050 dn \051;) 140.4 196 T 54 340/G5.1003607 FmPA ( }) 140.4 185 T 54 329/G5.1003608 FmPA ( for \050 a = ldap_first_attribute\050 ld, e, &ber \051;) 140.4 174 T 54 318/G5.1003609 FmPA ( a != NULL; a = ldap_next_attribute\050 ld, e, ber \051 \051 {) 140.4 163 T 54 307/G5.1003610 FmPA ( if \050\050vals = ldap_get_values\050 ld, e, a\051\051 != NULL \051 {) 140.4 152 T 54 296/G5.1003611 FmPA ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 141 T 54 285/G5.1003612 FmPA ( printf\050 \322%s: %s\134n\323, a, vals[i] \051;) 140.4 130 T 54 274/G5.1003613 FmPA ( }) 140.4 119 T 54 263/G5.1003614 FmPA ( ldap_value_free\050 vals \051;) 140.4 108 T 54 252/G5.1003615 FmPA ( }) 140.4 97 T 54 241/G5.1003616 FmPA ( ldap_memfree\050 a \051;) 140.4 86 T 54 230/G5.1003617 FmPA ( }) 140.4 75 T 54 219/G5.1003618 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.47/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "47" 51 %%Page: "48" 52 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (48) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( if \050 ber != NULL \051 {) 140.4 714 T 54 858/G5.1003619 FmPA ( ber_free\050 ber, 0 \051;) 140.4 703 T 54 847/G5.1003620 FmPA ( }) 140.4 692 T 54 836/G5.1003621 FmPA ( printf\050 \322\134n\323 \051;) 140.4 681 T 54 825/G5.1003622 FmPA ( }) 140.4 670 T 54 814/G5.1003623 FmPA ( ldap_msgfree\050 result \051;) 140.4 659 T 54 803/G5.1003624 FmPA ( ldap_unbind\050 ld \051;) 140.4 648 T 54 792/G5.1003625 FmPA ( return\050 0 \051;) 140.4 637 T 54 781/G5.1003626 FmPA (}) 140.4 626 T 54 770/G5.1003627 FmPA 54 759/G5.1003628 FmPA 3 12 Q (B.1.2) 64 593 T (Search Using JNDI) 108 593 T 54 737/G5.998453 FmPA 4 9 Q (/*) 140.4 575 T 54 719/G5.1009647 FmPA ( *) 140.4 564 T 54 708/G5.1010223 FmPA ( * @\050#\051Search.java) 140.4 553 T (1.2 99/07/26) 237.6 553 T 54 697/G5.1010224 FmPA ( *) 140.4 542 T 54 686/G5.1010225 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 531 T 54 675/G5.1010226 FmPA ( * Reserved.) 140.4 520 T 54 664/G5.1010227 FmPA ( *) 140.4 509 T 54 653/G5.1010228 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 498 T 54 642/G5.1010229 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 487 T 54 631/G5.1010230 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 476 T 54 620/G5.1010231 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 465 T 54 609/G5.1010232 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 454 T 54 598/G5.1010233 FmPA ( *) 140.4 443 T 54 587/G5.1010234 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 432 T 54 576/G5.1010235 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 421 T 54 565/G5.1010236 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 410 T 54 554/G5.1010237 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 399 T 54 543/G5.1010238 FmPA ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 388 T 54 532/G5.1010239 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 377 T 54 521/G5.1010240 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 366 T 54 510/G5.1010241 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 355 T 54 499/G5.1010242 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 344 T 54 488/G5.1010243 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 333 T 54 477/G5.1010244 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 322 T 54 466/G5.1010245 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 311 T 54 455/G5.1010246 FmPA ( *) 140.4 300 T 54 444/G5.1010247 FmPA ( * This software is not designed or intended for use in on-line) 140.4 289 T 54 433/G5.1010248 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 278 T 54 422/G5.1010249 FmPA ( * communications; or in the design, construction, operation or) 140.4 267 T 54 411/G5.1010250 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 256 T 54 400/G5.1010251 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 245 T 54 389/G5.1010252 FmPA ( */) 140.4 234 T 54 378/G5.1010253 FmPA 54 367/G5.1010254 FmPA (import java.util.Hashtable;) 140.4 212 T 54 356/G5.1010255 FmPA (import java.util.Enumeration;) 140.4 201 T 54 345/G5.1010256 FmPA 54 334/G5.1010257 FmPA (import javax.naming.*;) 140.4 179 T 54 323/G5.1010258 FmPA (import javax.naming.directory.*;) 140.4 168 T 54 312/G5.1010259 FmPA 54 301/G5.1010260 FmPA (/*) 140.4 146 T 54 290/G5.1010261 FmPA ( * Search the directory for all people whose surname \050last name\051 is) 140.4 135 T 54 279/G5.1010262 FmPA ( * "Jensen". Since the "sn" attribute is a caseignorestring \050cis\051, case) 140.4 124 T 54 268/G5.1010263 FmPA ( * is not significant when searching.) 140.4 113 T 54 257/G5.1010264 FmPA ( *) 140.4 102 T 54 246/G5.1010265 FmPA ( * [equivalent to search.c in Netscape's SDK.]) 140.4 91 T 54 235/G5.1010266 FmPA ( *) 140.4 80 T 54 224/G5.1010267 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.48/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "48" 52 %%Page: "49" 53 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (49) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( */) 140.4 714 T 54 858/G5.1010268 FmPA 54 847/G5.1010269 FmPA (class Search {) 140.4 692 T 54 836/G5.1010270 FmPA 54 825/G5.1010271 FmPA (public static void main\050String[] args\051 {) 140.4 670 T 54 814/G5.1010272 FmPA 54 803/G5.1010273 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 648 T 54 792/G5.1010274 FmPA ( /*) 140.4 637 T 54 781/G5.1010275 FmPA ( * Specify the initial context implementation to use.) 140.4 626 T 54 770/G5.1010276 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 615 T 54 759/G5.1010277 FmPA ( * For example,) 140.4 604 T 54 748/G5.1010278 FmPA (*) 165.6 593 T (java) 186.12 593 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 212.76 593 T (\134) 552.6 593 T 54 737/G5.1010279 FmPA ( * Search) 140.4 582 T 54 726/G5.1010280 FmPA ( */) 140.4 571 T 54 715/G5.1010281 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 560 T 54 704/G5.1010282 FmPA 54 693/G5.1010283 FmPA ( /* Specify host and port to use for directory service */) 140.4 538 T 54 682/G5.1010284 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 527 T 54 671/G5.1010285 FmPA 54 660/G5.1010286 FmPA ( try {) 140.4 505 T 54 649/G5.1010287 FmPA ( /* get a handle to an Initial DirContext */) 140.4 494 T 54 638/G5.1010288 FmPA ( DirContext ctx = new InitialDirContext\050env\051;) 140.4 483 T 54 627/G5.1010289 FmPA 54 616/G5.1010290 FmPA ( /* specify search constraints to search subtree */) 140.4 461 T 54 605/G5.1010291 FmPA ( SearchControls constraints = new SearchControls\050\051;) 140.4 450 T 54 594/G5.1010292 FmPA ( constraints.setSearchScope\050SearchControls.SUBTREE_SCOPE\051;) 140.4 439 T 54 583/G5.1010293 FmPA 54 572/G5.1010294 FmPA ( /* search for all entries with surname of Jensen */) 140.4 417 T 54 561/G5.1010295 FmPA ( NamingEnumeration results) 140.4 406 T 54 550/G5.1010296 FmPA ( = ctx.search\050Env.MY_SEARCHBASE, Env.MY_FILTER, constraints\051;) 140.4 395 T 54 539/G5.1010297 FmPA 54 528/G5.1010298 FmPA ( /* for each entry print out name + all attrs and values */) 140.4 373 T 54 517/G5.1010299 FmPA ( while \050results != null && results.hasMore\050\051\051 {) 140.4 362 T 54 506/G5.1010300 FmPA ( SearchResult si = \050SearchResult\051results.next\050\051;) 140.4 351 T 54 495/G5.1010301 FmPA 54 484/G5.1010302 FmPA ( /* print its name */) 140.4 329 T 54 473/G5.1010303 FmPA ( System.out.println\050"name: " + si.getName\050\051\051;) 140.4 318 T 54 462/G5.1010304 FmPA 54 451/G5.1010305 FmPA ( Attributes attrs = si.getAttributes\050\051;) 140.4 296 T 54 440/G5.1010306 FmPA ( if \050attrs == null\051 {) 140.4 285 T 54 429/G5.1010307 FmPA ( System.out.println\050"No attributes"\051;) 140.4 274 T 54 418/G5.1010308 FmPA ( } else {) 140.4 263 T 54 407/G5.1010309 FmPA ( /* print each attribute */) 140.4 252 T 54 396/G5.1010310 FmPA ( for \050NamingEnumeration ae = attrs.getAll\050\051;) 140.4 241 T 54 385/G5.1010311 FmPA ( ae.hasMoreElements\050\051;\051 {) 140.4 230 T 54 374/G5.1010312 FmPA ( Attribute attr = \050Attribute\051ae.next\050\051;) 140.4 219 T 54 363/G5.1010313 FmPA ( String attrId = attr.getID\050\051;) 140.4 208 T 54 352/G5.1010314 FmPA 54 341/G5.1010315 FmPA ( /* print each value */) 140.4 186 T 54 330/G5.1010316 FmPA ( for \050Enumeration vals = attr.getAll\050\051;) 140.4 175 T 54 319/G5.1010317 FmPA ( vals.hasMoreElements\050\051;) 140.4 164 T 54 308/G5.1010318 FmPA (System.out.println\050attrId) 263.4 153 T (+) 403.32 153 T (":) 413.64 153 T (") 429.36 153 T (+) 439.68 153 T (vals.nextElement\050\051\051\051) 450 153 T 54 297/G5.1010319 FmPA ( ;) 140.4 142 T 54 286/G5.1010320 FmPA ( }) 140.4 131 T 54 275/G5.1010321 FmPA ( }) 140.4 120 T 54 264/G5.1010322 FmPA ( System.out.println\050\051;) 140.4 109 T 54 253/G5.1010323 FmPA ( }) 140.4 98 T 54 242/G5.1010324 FmPA ( } catch \050NamingException e\051 {) 140.4 87 T 54 231/G5.1010325 FmPA ( System.err.println\050"Search example failed."\051;) 140.4 76 T 54 220/G5.1010326 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.49/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "49" 53 %%Page: "50" 54 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (50) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( e.printStackTrace\050\051;) 140.4 714 T 54 858/G5.1010327 FmPA ( }) 140.4 703 T 54 847/G5.1010328 FmPA (}) 140.4 692 T 54 836/G5.1010329 FmPA (}) 140.4 681 T 54 825/G5.1010330 FmPA 54 814/G5.1010331 FmPA 3 14 Q (B.2) 54 643.67 T ( Read An Entry) 77.34 643.67 T 54 788/G5.998898 FmPA 3 12 Q (B.2.1) 64 620 T (Read Using LDAP C-API) 108 620 T 54 764/G5.998899 FmPA 4 9 Q (/*) 140.4 602 T 54 746/G5.998900 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 591 T 54 735/G5.1003630 FmPA ( * rights reserved.) 140.4 580 T 54 724/G5.1003631 FmPA ( *) 140.4 569 T 54 713/G5.1003632 FmPA ( * Search the directory for the specific entry) 140.4 558 T 54 702/G5.1003633 FmPA ( * \322cn=Barbara Jensen, ou=Product Development, o=Ace Industry, c=US\323.) 140.4 547 T 54 691/G5.1003634 FmPA ( * Retrieve all attributes from the entry.) 140.4 536 T 54 680/G5.1003635 FmPA ( *) 140.4 525 T 54 669/G5.1003636 FmPA ( */) 140.4 514 T 54 658/G5.1003637 FmPA 54 647/G5.1003638 FmPA (#include \322examples.h\323) 140.4 492 T 54 636/G5.1003639 FmPA 54 625/G5.1003640 FmPA (int) 140.4 470 T 54 614/G5.1003641 FmPA (main\050 int argc, char **argv \051) 140.4 459 T 54 603/G5.1003642 FmPA ({) 140.4 448 T 54 592/G5.1003643 FmPA ( LDAP *ld;) 140.4 437 T 54 581/G5.1003644 FmPA ( LDAPMessage *result, *e;) 140.4 426 T 54 570/G5.1003645 FmPA ( BerElement *ber;) 140.4 415 T 54 559/G5.1003646 FmPA ( char *a, *dn;) 140.4 404 T 54 548/G5.1003647 FmPA ( char **vals;) 140.4 393 T 54 537/G5.1003648 FmPA ( int i;) 140.4 382 T 54 526/G5.1003649 FmPA 54 515/G5.1003650 FmPA ( /* get a handle to an LDAP connection */) 140.4 360 T 54 504/G5.1003651 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 349 T 54 493/G5.1003652 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 338 T 54 482/G5.1003653 FmPA ( return\050 1 \051;) 140.4 327 T 54 471/G5.1003654 FmPA ( }) 140.4 316 T 54 460/G5.1003655 FmPA ( /* authenticate to the directory as nobody */) 140.4 305 T 54 449/G5.1003656 FmPA ( if \050 ldap_simple_bind_s\050 ld, NULL, NULL \051 != LDAP_SUCCESS \051 {) 140.4 294 T 54 438/G5.1003657 FmPA ( ldap_perror\050 ld, \322ldap_simple_bind_s\323 \051;) 140.4 283 T 54 427/G5.1003658 FmPA ( return\050 1 \051;) 140.4 272 T 54 416/G5.1003659 FmPA ( }) 140.4 261 T 54 405/G5.1003660 FmPA ( /* search for Babs\325 entry */) 140.4 250 T 54 394/G5.1003661 FmPA ( if \050 ldap_search_s\050 ld, ENTRYDN, LDAP_SCOPE_SUBTREE,) 140.4 239 T 54 383/G5.1003662 FmPA ( \322\050objectclass=*\051\323, NULL, 0, &result \051 != LDAP_SUCCESS \051 {) 140.4 228 T 54 372/G5.1003663 FmPA ( ldap_perror\050 ld, \322ldap_search_s\323 \051;) 140.4 217 T 54 361/G5.1003664 FmPA ( return\050 1 \051;) 140.4 206 T 54 350/G5.1003665 FmPA ( }) 140.4 195 T 54 339/G5.1003666 FmPA ( /* for each entry print out name + all attrs and values */) 140.4 184 T 54 328/G5.1003667 FmPA ( for \050 e = ldap_first_entry\050 ld, result \051; e != NULL;) 140.4 173 T 54 317/G5.1003668 FmPA ( e = ldap_next_entry\050 ld, e \051 \051 {) 140.4 162 T 54 306/G5.1003669 FmPA ( if \050 \050dn = ldap_get_dn\050 ld, e \051\051 != NULL \051 {) 140.4 151 T 54 295/G5.1003670 FmPA ( printf\050 \322dn: %s\134n\323, dn \051;) 140.4 140 T 54 284/G5.1003671 FmPA ( ldap_memfree\050 dn \051;) 140.4 129 T 54 273/G5.1003672 FmPA ( }) 140.4 118 T 54 262/G5.1003673 FmPA ( for \050 a = ldap_first_attribute\050 ld, e, &ber \051;) 140.4 107 T 54 251/G5.1003674 FmPA ( a != NULL; a = ldap_next_attribute\050 ld, e, ber \051 \051 {) 140.4 96 T 54 240/G5.1003675 FmPA ( if \050\050vals = ldap_get_values\050 ld, e, a\051\051 != NULL \051 {) 140.4 85 T 54 229/G5.1003676 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.50/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "50" 54 %%Page: "51" 55 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (51) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 714 T 54 858/G5.1003677 FmPA ( printf\050 \322%s: %s\134n\323, a, vals[i] \051;) 140.4 703 T 54 847/G5.1003678 FmPA ( }) 140.4 692 T 54 836/G5.1003679 FmPA ( ldap_value_free\050 vals \051;) 140.4 681 T 54 825/G5.1003680 FmPA ( }) 140.4 670 T 54 814/G5.1003681 FmPA ( ldap_memfree\050 a \051;) 140.4 659 T 54 803/G5.1003682 FmPA ( }) 140.4 648 T 54 792/G5.1003683 FmPA ( if \050 ber != NULL \051 {) 140.4 637 T 54 781/G5.1003684 FmPA ( ber_free\050 ber, 0 \051;) 140.4 626 T 54 770/G5.1003685 FmPA ( }) 140.4 615 T 54 759/G5.1003686 FmPA ( printf\050 \322\134n\323 \051;) 140.4 604 T 54 748/G5.1003687 FmPA ( }) 140.4 593 T 54 737/G5.1003688 FmPA ( ldap_msgfree\050 result \051;) 140.4 582 T 54 726/G5.1003689 FmPA ( ldap_unbind\050 ld \051;) 140.4 571 T 54 715/G5.1003690 FmPA ( return\050 0 \051;) 140.4 560 T 54 704/G5.1003691 FmPA (}) 140.4 549 T 54 693/G5.1003692 FmPA 54 682/G5.1003693 FmPA 3 12 Q (B.2.2) 64 516 T (Read Using JNDI) 108 516 T 54 660/G5.998973 FmPA 4 9 Q (/*) 140.4 498 T 54 642/G5.1009210 FmPA ( * @\050#\051Rdentry.java) 140.4 487 T (1.2 99/07/26) 243 487 T 54 631/G5.1009653 FmPA ( *) 140.4 476 T 54 620/G5.1009654 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 465 T 54 609/G5.1009655 FmPA ( * Reserved.) 140.4 454 T 54 598/G5.1009656 FmPA ( *) 140.4 443 T 54 587/G5.1009657 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 432 T 54 576/G5.1009658 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 421 T 54 565/G5.1009659 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 410 T 54 554/G5.1009660 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 399 T 54 543/G5.1009661 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 388 T 54 532/G5.1009662 FmPA ( *) 140.4 377 T 54 521/G5.1009663 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 366 T 54 510/G5.1009664 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 355 T 54 499/G5.1009665 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 344 T 54 488/G5.1009666 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 333 T 54 477/G5.1009667 FmPA ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 322 T 54 466/G5.1009668 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 311 T 54 455/G5.1009669 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 300 T 54 444/G5.1009670 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 289 T 54 433/G5.1009671 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 278 T 54 422/G5.1009672 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 267 T 54 411/G5.1009673 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 256 T 54 400/G5.1009674 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 245 T 54 389/G5.1009675 FmPA ( *) 140.4 234 T 54 378/G5.1009676 FmPA ( * This software is not designed or intended for use in on-line) 140.4 223 T 54 367/G5.1009677 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 212 T 54 356/G5.1009678 FmPA ( * communications; or in the design, construction, operation or) 140.4 201 T 54 345/G5.1009679 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 190 T 54 334/G5.1009680 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 179 T 54 323/G5.1009681 FmPA ( */) 140.4 168 T 54 312/G5.1009682 FmPA 54 301/G5.1009683 FmPA (import java.util.Hashtable;) 140.4 146 T 54 290/G5.1009684 FmPA 54 279/G5.1009685 FmPA (import javax.naming.*;) 140.4 124 T 54 268/G5.1009686 FmPA (import javax.naming.directory.*;) 140.4 113 T 54 257/G5.1009687 FmPA 54 246/G5.1009688 FmPA (/*) 140.4 91 T 54 235/G5.1009689 FmPA ( * Search the directory for the specific entry) 140.4 80 T 54 224/G5.1009690 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.51/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "51" 55 %%Page: "52" 56 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (52) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( * "cn=Barbara Jensen, ou=Product Development, o=Ace Industry, c=US".) 140.4 714 T 54 858/G5.1009691 FmPA ( * Retrieve all attributes from the entry.) 140.4 703 T 54 847/G5.1009692 FmPA ( *) 140.4 692 T 54 836/G5.1009693 FmPA ( * [Equivalent to rdentry.c in Netscape SDK]) 140.4 681 T 54 825/G5.1009694 FmPA ( */) 140.4 670 T 54 814/G5.1009695 FmPA (class Rdentry {) 140.4 659 T 54 803/G5.1009696 FmPA (public static void main\050String[] args\051 {) 140.4 648 T 54 792/G5.1009697 FmPA 54 781/G5.1009698 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 626 T 54 770/G5.1009699 FmPA ( /*) 140.4 615 T 54 759/G5.1009700 FmPA ( * Specify the initial context implementation to use.) 140.4 604 T 54 748/G5.1009701 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 593 T 54 737/G5.1009702 FmPA ( * For example,) 140.4 582 T 54 726/G5.1009703 FmPA (*) 165.6 571 T (java) 186.12 571 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 212.76 571 T (\134) 552.6 571 T 54 715/G5.1009704 FmPA ( * Rdentry) 140.4 560 T 54 704/G5.1009705 FmPA ( */) 140.4 549 T 54 693/G5.1009706 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 538 T 54 682/G5.1009707 FmPA 54 671/G5.1009708 FmPA ( /* Specify host and port to use for directory service */) 140.4 516 T 54 660/G5.1009709 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 505 T 54 649/G5.1009710 FmPA 54 638/G5.1009711 FmPA ( try {) 140.4 483 T 54 627/G5.1009712 FmPA ( /* get a handle to an Initial DirContext */) 140.4 472 T 54 616/G5.1009713 FmPA ( DirContext ctx = new InitialDirContext\050env\051;) 140.4 461 T 54 605/G5.1009714 FmPA 54 594/G5.1009715 FmPA ( /* Read Babs' entry */) 140.4 439 T 54 583/G5.1009716 FmPA ( Attributes attrs = ctx.getAttributes\050Env.ENTRYDN\051;) 140.4 428 T 54 572/G5.1009717 FmPA 54 561/G5.1009718 FmPA ( if \050attrs == null\051 {) 140.4 406 T 54 550/G5.1009719 FmPA ( System.out.println\050Env.ENTRYDN + "has no attributes"\051;) 140.4 395 T 54 539/G5.1009720 FmPA ( } else {) 140.4 384 T 54 528/G5.1009721 FmPA ( /* print each attribute */) 140.4 373 T 54 517/G5.1009722 FmPA ( for \050NamingEnumeration ae = attrs.getAll\050\051;) 140.4 362 T 54 506/G5.1009723 FmPA ( ae.hasMoreElements\050\051;\051 {) 140.4 351 T 54 495/G5.1009724 FmPA ( Attribute attr = \050Attribute\051ae.next\050\051;) 140.4 340 T 54 484/G5.1009725 FmPA ( String attrId = attr.getID\050\051;) 140.4 329 T 54 473/G5.1009726 FmPA 54 462/G5.1009727 FmPA ( /* print each value */) 140.4 307 T 54 451/G5.1009728 FmPA ( for \050NamingEnumeration vals = attr.getAll\050\051;) 140.4 296 T 54 440/G5.1009729 FmPA ( vals.hasMoreElements\050\051;) 140.4 285 T 54 429/G5.1009730 FmPA ( System.out.println\050attrId + ": " + vals.nextElement\050\051\051\051) 140.4 274 T 54 418/G5.1009731 FmPA ( ;) 140.4 263 T 54 407/G5.1009732 FmPA ( }) 140.4 252 T 54 396/G5.1009733 FmPA ( }) 140.4 241 T 54 385/G5.1009734 FmPA ( } catch \050NamingException e\051 {) 140.4 230 T 54 374/G5.1009735 FmPA ( System.err.println\050"Rdentry example failed."\051;) 140.4 219 T 54 363/G5.1009736 FmPA ( e.printStackTrace\050\051;) 140.4 208 T 54 352/G5.1009737 FmPA ( }) 140.4 197 T 54 341/G5.1009738 FmPA (}) 140.4 186 T 54 330/G5.1009739 FmPA (}) 140.4 175 T 54 319/G5.1009740 FmPA 54 308/G5.1009741 FmPA 3 14 Q (B.3) 54 137.67 T ( Get Attributes) 77.34 137.67 T 54 282/G5.999037 FmPA 3 12 Q (B.3.1) 64 114 T (Get Attributes Using LDAP C API) 108 114 T 54 258/G5.999038 FmPA 4 9 Q (/*) 140.4 96 T 54 240/G5.999133 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 85 T 54 229/G5.1003206 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.52/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "52" 56 %%Page: "53" 57 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (53) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( * rights reserved.) 140.4 714 T 54 858/G5.1003207 FmPA ( *) 140.4 703 T 54 847/G5.1003208 FmPA ( * Retrieve several attributes of a particular entry.) 140.4 692 T 54 836/G5.1003209 FmPA ( */) 140.4 681 T 54 825/G5.1003210 FmPA 54 814/G5.1003211 FmPA (#include \322examples.h\323) 140.4 659 T 54 803/G5.1003212 FmPA 54 792/G5.1003213 FmPA 54 781/G5.1003214 FmPA (int) 140.4 626 T 54 770/G5.1003215 FmPA (main\050 int argc, char **argv \051) 140.4 615 T 54 759/G5.1003216 FmPA ({) 140.4 604 T 54 748/G5.1003217 FmPA ( LDAP *ld;) 140.4 593 T 54 737/G5.1003218 FmPA ( LDAPMessage *result, *e;) 140.4 582 T 54 726/G5.1003219 FmPA ( char **vals, *attrs[ 5 ];) 140.4 571 T 54 715/G5.1003220 FmPA ( int i;) 140.4 560 T 54 704/G5.1003221 FmPA 54 693/G5.1003222 FmPA ( /* get a handle to an LDAP connection */) 140.4 538 T 54 682/G5.1003223 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 527 T 54 671/G5.1003224 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 516 T 54 660/G5.1003225 FmPA ( return\050 1 \051;) 140.4 505 T 54 649/G5.1003226 FmPA ( }) 140.4 494 T 54 638/G5.1003227 FmPA 54 627/G5.1003228 FmPA ( attrs[ 0 ] = \322cn\323; /* Get canonical name\050s\051 \050full name\051 */) 140.4 472 T 54 616/G5.1003229 FmPA ( attrs[ 1 ] = \322sn\323; /* Get surname\050s\051 \050last name\051 */) 140.4 461 T 54 605/G5.1003230 FmPA ( attrs[ 2 ] = \322mail\323; /* Get email address\050es\051 */) 140.4 450 T 54 594/G5.1003231 FmPA ( attrs[ 3 ] = \322telephonenumber\323; /* Get telephone number\050s\051 */) 140.4 439 T 54 583/G5.1003232 FmPA ( attrs[ 4 ] = NULL;) 140.4 428 T 54 572/G5.1003233 FmPA 54 561/G5.1003234 FmPA ( if \050 ldap_search_s\050 ld, ENTRYDN, LDAP_SCOPE_BASE,) 140.4 406 T 54 550/G5.1003235 FmPA ( \322\050objectclass=*\051\323, attrs, 0, &result \051 != LDAP_SUCCESS \051 {) 140.4 395 T 54 539/G5.1003236 FmPA ( ldap_perror\050 ld, \322ldap_search_s\323 \051;) 140.4 384 T 54 528/G5.1003237 FmPA ( return\050 1 \051;) 140.4 373 T 54 517/G5.1003238 FmPA ( }) 140.4 362 T 54 506/G5.1003239 FmPA 54 495/G5.1003240 FmPA ( /* print it out */) 140.4 340 T 54 484/G5.1003241 FmPA ( if \050\050 e = ldap_first_entry\050 ld, result \051\051 != NULL \051 {) 140.4 329 T 54 473/G5.1003242 FmPA ( if \050\050 vals = ldap_get_values\050 ld, e, \322cn\323 \051\051 != NULL \051 {) 140.4 318 T 54 462/G5.1003243 FmPA ( printf\050 \322Full name:\134n\323 \051;) 140.4 307 T 54 451/G5.1003244 FmPA ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 296 T 54 440/G5.1003245 FmPA ( printf\050 \322\134t%s\134n\323, vals[i] \051;) 140.4 285 T 54 429/G5.1003246 FmPA ( }) 140.4 274 T 54 418/G5.1003247 FmPA ( ldap_value_free\050 vals \051;) 140.4 263 T 54 407/G5.1003248 FmPA ( }) 140.4 252 T 54 396/G5.1003249 FmPA ( if \050\050 vals = ldap_get_values\050 ld, e, \322sn\323 \051\051 != NULL \051 {) 140.4 241 T 54 385/G5.1003250 FmPA ( printf\050 \322Last name \050surname\051:\134n\323 \051;) 140.4 230 T 54 374/G5.1003251 FmPA ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 219 T 54 363/G5.1003252 FmPA ( printf\050 \322\134t%s\134n\323, vals[i] \051;) 140.4 208 T 54 352/G5.1003253 FmPA ( }) 140.4 197 T 54 341/G5.1003254 FmPA ( ldap_value_free\050 vals \051;) 140.4 186 T 54 330/G5.1003255 FmPA ( }) 140.4 175 T 54 319/G5.1003256 FmPA ( if \050\050 vals = ldap_get_values\050 ld, e, \322mail\323 \051\051 != NULL \051 {) 140.4 164 T 54 308/G5.1003257 FmPA ( printf\050 \322Email address:\134n\323 \051;) 140.4 153 T 54 297/G5.1003258 FmPA ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 142 T 54 286/G5.1003259 FmPA ( printf\050 \322\134t%s\134n\323, vals[i] \051;) 140.4 131 T 54 275/G5.1003260 FmPA ( }) 140.4 120 T 54 264/G5.1003261 FmPA ( ldap_value_free\050 vals \051;) 140.4 109 T 54 253/G5.1003262 FmPA ( }) 140.4 98 T 54 242/G5.1003263 FmPA ( if \050\050 vals = ldap_get_values\050 ld, e, \322telephonenumber\323 \051\051 != NULL \051 {) 140.4 87 T 54 231/G5.1003264 FmPA ( printf\050 \322Telephone number:\134n\323 \051;) 140.4 76 T 54 220/G5.1003265 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.53/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "53" 57 %%Page: "54" 58 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (54) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( for \050 i = 0; vals[i] != NULL; i++ \051 {) 140.4 714 T 54 858/G5.1003266 FmPA ( printf\050 \322\134t%s\134n\323, vals[i] \051;) 140.4 703 T 54 847/G5.1003267 FmPA ( }) 140.4 692 T 54 836/G5.1003268 FmPA ( ldap_value_free\050 vals \051;) 140.4 681 T 54 825/G5.1003269 FmPA ( }) 140.4 670 T 54 814/G5.1003270 FmPA ( }) 140.4 659 T 54 803/G5.1003271 FmPA ( ldap_msgfree\050 result \051;) 140.4 648 T 54 792/G5.1003272 FmPA ( ldap_unbind\050 ld \051;) 140.4 637 T 54 781/G5.1003273 FmPA ( return\050 0 \051;) 140.4 626 T 54 770/G5.1003274 FmPA (}) 140.4 615 T 54 759/G5.1003275 FmPA 54 748/G5.1003276 FmPA 3 12 Q (B.3.2) 64 582 T (Get Attributes Using JNDI) 108 582 T 54 726/G5.999132 FmPA 4 9 Q (/*) 140.4 564 T 54 708/G5.1009300 FmPA ( *) 140.4 553 T 54 697/G5.1009743 FmPA ( * @\050#\051Getattrs.java) 140.4 542 T (1.2 99/07/26) 248.4 542 T 54 686/G5.1009744 FmPA ( *) 140.4 531 T 54 675/G5.1009745 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 520 T 54 664/G5.1009746 FmPA ( * Reserved.) 140.4 509 T 54 653/G5.1009747 FmPA ( *) 140.4 498 T 54 642/G5.1009748 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 487 T 54 631/G5.1009749 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 476 T 54 620/G5.1009750 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 465 T 54 609/G5.1009751 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 454 T 54 598/G5.1009752 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 443 T 54 587/G5.1009753 FmPA ( *) 140.4 432 T 54 576/G5.1009754 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 421 T 54 565/G5.1009755 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 410 T 54 554/G5.1009756 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 399 T 54 543/G5.1009757 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 388 T 54 532/G5.1009758 FmPA ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 377 T 54 521/G5.1009759 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 366 T 54 510/G5.1009760 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 355 T 54 499/G5.1009761 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 344 T 54 488/G5.1009762 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 333 T 54 477/G5.1009763 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 322 T 54 466/G5.1009764 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 311 T 54 455/G5.1009765 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 300 T 54 444/G5.1009766 FmPA ( *) 140.4 289 T 54 433/G5.1009767 FmPA ( * This software is not designed or intended for use in on-line) 140.4 278 T 54 422/G5.1009768 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 267 T 54 411/G5.1009769 FmPA ( * communications; or in the design, construction, operation or) 140.4 256 T 54 400/G5.1009770 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 245 T 54 389/G5.1009771 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 234 T 54 378/G5.1009772 FmPA ( */) 140.4 223 T 54 367/G5.1009773 FmPA 54 356/G5.1009774 FmPA 54 345/G5.1009775 FmPA (import java.util.Hashtable;) 140.4 190 T 54 334/G5.1009776 FmPA (import java.util.Enumeration;) 140.4 179 T 54 323/G5.1009777 FmPA 54 312/G5.1009778 FmPA (import javax.naming.*;) 140.4 157 T 54 301/G5.1009779 FmPA (import javax.naming.directory.*;) 140.4 146 T 54 290/G5.1009780 FmPA 54 279/G5.1009781 FmPA (/*) 140.4 124 T 54 268/G5.1009782 FmPA ( * Retrieve several attributes of a particular entry.) 140.4 113 T 54 257/G5.1009783 FmPA ( *) 140.4 102 T 54 246/G5.1009784 FmPA ( * [equivalent to getattrs.c in Netscape SDK]) 140.4 91 T 54 235/G5.1009785 FmPA ( */) 140.4 80 T 54 224/G5.1009786 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.54/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "54" 58 %%Page: "55" 59 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (55) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X (class Getattrs {) 140.4 714 T 54 858/G5.1009787 FmPA 54 847/G5.1009788 FmPA (public static void main\050String[] args\051 {) 140.4 692 T 54 836/G5.1009789 FmPA 54 825/G5.1009790 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 670 T 54 814/G5.1009791 FmPA ( /*) 140.4 659 T 54 803/G5.1009792 FmPA ( * Specify the initial context implementation to use.) 140.4 648 T 54 792/G5.1009793 FmPA ( * For example,) 140.4 637 T 54 781/G5.1009794 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 626 T 54 770/G5.1009795 FmPA (*) 165.6 615 T (java) 186.12 615 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 212.76 615 T (\134) 552.6 615 T 54 759/G5.1009796 FmPA ( * Getattrs) 140.4 604 T 54 748/G5.1009797 FmPA ( */) 140.4 593 T 54 737/G5.1009798 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 582 T 54 726/G5.1009799 FmPA 54 715/G5.1009800 FmPA ( /* Specify host and port to use for directory service */) 140.4 560 T 54 704/G5.1009801 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 549 T 54 693/G5.1009802 FmPA 54 682/G5.1009803 FmPA ( try {) 140.4 527 T 54 671/G5.1009804 FmPA ( /* get a handle to an Initial DirContext */) 140.4 516 T 54 660/G5.1009805 FmPA ( DirContext ctx = new InitialDirContext\050env\051;) 140.4 505 T 54 649/G5.1009806 FmPA 54 638/G5.1009807 FmPA ( String[] attrs = new String[4];) 140.4 483 T 54 627/G5.1009808 FmPA (attrs[) 181.35 472 T (0) 218.87 472 T (]) 229.39 472 T (=) 239.9 472 T ("cn";) 250.42 472 T (/*) 349.09 472 T (Get) 365 472 T (canonical) 386.32 472 T (name\050s\051) 440.04 472 T (\050full) 482.96 472 T (name\051) 515.08 472 T (*/) 547.2 472 T 54 616/G5.1009809 FmPA ( attrs[ 1 ] = "sn"; /* Get surname\050s\051 \050last name\051 */) 140.4 461 T 54 605/G5.1009810 FmPA ( attrs[ 2 ] = "mail"; /* Get email address\050es\051 */) 140.4 450 T 54 594/G5.1009811 FmPA ( attrs[ 3 ] = "telephonenumber"; /* Get telephone number\050s\051 */) 140.4 439 T 54 583/G5.1009812 FmPA 54 572/G5.1009813 FmPA ( Attributes result = ctx.getAttributes\050Env.ENTRYDN, attrs\051;) 140.4 417 T 54 561/G5.1009814 FmPA 54 550/G5.1009815 FmPA ( if \050result == null\051 {) 140.4 395 T 54 539/G5.1009816 FmPA ( System.out.println\050Env.ENTRYDN +) 140.4 384 T 54 528/G5.1009817 FmPA ( "has none of the specified attributes."\051;) 140.4 373 T 54 517/G5.1009818 FmPA ( } else {) 140.4 362 T 54 506/G5.1009819 FmPA ( /* print it out */) 140.4 351 T 54 495/G5.1009820 FmPA ( Attribute attr = result.get\050"cn"\051;) 140.4 340 T 54 484/G5.1009821 FmPA ( if \050attr != null\051 {) 140.4 329 T 54 473/G5.1009822 FmPA ( System.out.println\050"Full name:" \051;) 140.4 318 T 54 462/G5.1009823 FmPA ( for \050NamingEnumeration vals = attr.getAll\050\051;) 140.4 307 T 54 451/G5.1009824 FmPA ( vals.hasMoreElements\050\051;) 140.4 296 T 54 440/G5.1009825 FmPA ( System.out.println\050"\134t" + vals.nextElement\050\051\051\051) 140.4 285 T 54 429/G5.1009826 FmPA ( ;) 140.4 274 T 54 418/G5.1009827 FmPA ( }) 140.4 263 T 54 407/G5.1009828 FmPA 54 396/G5.1009829 FmPA ( attr = result.get\050"sn"\051;) 140.4 241 T 54 385/G5.1009830 FmPA ( if \050attr != null\051 {) 140.4 230 T 54 374/G5.1009831 FmPA ( System.out.println\050"Last name \050surname\051:" \051;) 140.4 219 T 54 363/G5.1009832 FmPA ( for \050NamingEnumeration vals = attr.getAll\050\051;) 140.4 208 T 54 352/G5.1009833 FmPA ( vals.hasMoreElements\050\051;) 140.4 197 T 54 341/G5.1009834 FmPA ( System.out.println\050"\134t" + vals.nextElement\050\051\051\051) 140.4 186 T 54 330/G5.1009835 FmPA ( ;) 140.4 175 T 54 319/G5.1009836 FmPA ( }) 140.4 164 T 54 308/G5.1009837 FmPA 54 297/G5.1009838 FmPA ( attr = result.get\050"mail"\051;) 140.4 142 T 54 286/G5.1009839 FmPA ( if \050attr != null\051 {) 140.4 131 T 54 275/G5.1009840 FmPA ( System.out.println\050"Email address:" \051;) 140.4 120 T 54 264/G5.1009841 FmPA ( for \050NamingEnumeration vals = attr.getAll\050\051;) 140.4 109 T 54 253/G5.1009842 FmPA ( vals.hasMoreElements\050\051;) 140.4 98 T 54 242/G5.1009843 FmPA ( System.out.println\050"\134t" + vals.nextElement\050\051\051\051) 140.4 87 T 54 231/G5.1009844 FmPA ( ;) 140.4 76 T 54 220/G5.1009845 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.55/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "55" 59 %%Page: "56" 60 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (56) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( }) 140.4 714 T 54 858/G5.1009846 FmPA ( attr = result.get\050"telephonenumber"\051;) 140.4 703 T 54 847/G5.1009847 FmPA ( if \050attr != null\051 {) 140.4 692 T 54 836/G5.1009848 FmPA ( System.out.println\050"Telephone number:" \051;) 140.4 681 T 54 825/G5.1009849 FmPA ( for \050NamingEnumeration vals = attr.getAll\050\051;) 140.4 670 T 54 814/G5.1009850 FmPA ( vals.hasMoreElements\050\051;) 140.4 659 T 54 803/G5.1009851 FmPA ( System.out.println\050"\134t" + vals.nextElement\050\051\051\051) 140.4 648 T 54 792/G5.1009852 FmPA ( ;) 140.4 637 T 54 781/G5.1009853 FmPA ( }) 140.4 626 T 54 770/G5.1009854 FmPA ( }) 140.4 615 T 54 759/G5.1009855 FmPA ( } catch \050NamingException e\051 {) 140.4 604 T 54 748/G5.1009856 FmPA ( System.err.println\050"Getattrs example failed."\051;) 140.4 593 T 54 737/G5.1009857 FmPA ( e.printStackTrace\050\051;) 140.4 582 T 54 726/G5.1009858 FmPA ( }) 140.4 571 T 54 715/G5.1009859 FmPA (}) 140.4 560 T 54 704/G5.1009860 FmPA (}) 140.4 549 T 54 693/G5.1009861 FmPA 54 682/G5.1009862 FmPA 3 14 Q (B.4) 54 511.67 T ( Compare An Attribute) 77.34 511.67 T 54 656/G5.1000269 FmPA 3 12 Q (B.4.1) 64 488 T (Compare Using LDAP C API) 108 488 T 54 632/G5.999221 FmPA 4 9 Q (/*) 140.4 470 T 54 614/G5.999223 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 459 T 54 603/G5.1003278 FmPA ( * rights reserved.) 140.4 448 T 54 592/G5.1003279 FmPA ( *) 140.4 437 T 54 581/G5.1003280 FmPA ( * Use ldap_compare\050\051 to compare values agains values contained in entry) 140.4 426 T 54 570/G5.1003281 FmPA ( * \322cn=Barbara Jensen, ou=Product Development, o=Ace Industry, c=US\323.) 140.4 415 T 54 559/G5.1003282 FmPA ( * We test to see if \0501\051 the value \322person\323 is one of the values in the) 140.4 404 T 54 548/G5.1003283 FmPA ( * objectclass attribute \050it is\051, and if \0502\051 the value \322xyzzy\323 is in the) 140.4 393 T 54 537/G5.1003284 FmPA ( * objectlass attribute \050it isn\325t, or at least, it shouldn\325t be\051.) 140.4 382 T 54 526/G5.1003285 FmPA ( *) 140.4 371 T 54 515/G5.1003286 FmPA ( */) 140.4 360 T 54 504/G5.1003287 FmPA 54 493/G5.1003288 FmPA (#include \322examples.h\323) 140.4 338 T 54 482/G5.1003289 FmPA 54 471/G5.1003290 FmPA (int) 140.4 316 T 54 460/G5.1003291 FmPA (main\050 int main, char **argv \051) 140.4 305 T 54 449/G5.1003292 FmPA ({) 140.4 294 T 54 438/G5.1003293 FmPA ( LDAP *ld;) 140.4 283 T 54 427/G5.1003294 FmPA ( int rc;) 140.4 272 T 54 416/G5.1003295 FmPA 54 405/G5.1003296 FmPA ( /* get a handle to an LDAP connection */) 140.4 250 T 54 394/G5.1003297 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 239 T 54 383/G5.1003298 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 228 T 54 372/G5.1003299 FmPA ( return\050 1 \051;) 140.4 217 T 54 361/G5.1003300 FmPA ( }) 140.4 206 T 54 350/G5.1003301 FmPA 54 339/G5.1003302 FmPA ( /* authenticate to the directory as nobody */) 140.4 184 T 54 328/G5.1003303 FmPA ( if \050 ldap_simple_bind_s\050 ld, NULL, NULL \051 != LDAP_SUCCESS \051 {) 140.4 173 T 54 317/G5.1003304 FmPA ( ldap_perror\050 ld, \322ldap_simple_bind_s\323 \051;) 140.4 162 T 54 306/G5.1003305 FmPA ( return\050 1 \051;) 140.4 151 T 54 295/G5.1003306 FmPA ( }) 140.4 140 T 54 284/G5.1003307 FmPA 54 273/G5.1003308 FmPA ( /* compare the value \322person\323 against the objectclass attribute */) 140.4 118 T 54 262/G5.1003309 FmPA ( rc = ldap_compare_s\050 ld, ENTRYDN, \322objectclass\323, \322person\323 \051;) 140.4 107 T 54 251/G5.1003310 FmPA ( switch \050 rc \051 {) 140.4 96 T 54 240/G5.1003311 FmPA ( case LDAP_COMPARE_TRUE:) 140.4 85 T 54 229/G5.1003312 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.56/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "56" 60 %%Page: "57" 61 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (57) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( printf\050 \322The value \134\323person\134\323 is contained in the objectclass \322) 140.4 714 T 54 858/G5.1003313 FmPA ( \322attribute.\134n\323 \051;) 140.4 703 T 54 847/G5.1003314 FmPA ( break;) 140.4 692 T 54 836/G5.1003315 FmPA ( case LDAP_COMPARE_FALSE:) 140.4 681 T 54 825/G5.1003316 FmPA ( printf\050 \322The value \134\323person\134\323 is not contained in the objectclass \322) 140.4 670 T 54 814/G5.1003317 FmPA ( \322attribute.\134n\323 \051;) 140.4 659 T 54 803/G5.1003318 FmPA ( break;) 140.4 648 T 54 792/G5.1003319 FmPA ( default:) 140.4 637 T 54 781/G5.1003320 FmPA ( ldap_perror\050 ld, \322ldap_compare_s\323 \051;) 140.4 626 T 54 770/G5.1003321 FmPA ( }) 140.4 615 T 54 759/G5.1003322 FmPA 54 748/G5.1003323 FmPA ( /* compare the value \322xyzzy\323 against the objectclass attribute */) 140.4 593 T 54 737/G5.1003324 FmPA ( rc = ldap_compare_s\050 ld, ENTRYDN, \322objectclass\323, \322xyzzy\323 \051;) 140.4 582 T 54 726/G5.1003325 FmPA ( switch \050 rc \051 {) 140.4 571 T 54 715/G5.1003326 FmPA ( case LDAP_COMPARE_TRUE:) 140.4 560 T 54 704/G5.1003327 FmPA ( printf\050 \322The value \134\323xyzzy\134\323 is contained in the objectclass \322) 140.4 549 T 54 693/G5.1003328 FmPA ( \322attribute.\134n\323 \051;) 140.4 538 T 54 682/G5.1003329 FmPA ( break;) 140.4 527 T 54 671/G5.1003330 FmPA ( case LDAP_COMPARE_FALSE:) 140.4 516 T 54 660/G5.1003331 FmPA ( printf\050 \322The value \134\323xyzzy\134\323 is not contained in the objectclass \322) 140.4 505 T 54 649/G5.1003332 FmPA ( \322attribute.\134n\323 \051;) 140.4 494 T 54 638/G5.1003333 FmPA ( break;) 140.4 483 T 54 627/G5.1003334 FmPA ( default:) 140.4 472 T 54 616/G5.1003335 FmPA ( ldap_perror\050 ld, \322ldap_compare_s\323 \051;) 140.4 461 T 54 605/G5.1003336 FmPA ( }) 140.4 450 T 54 594/G5.1003337 FmPA 54 583/G5.1003338 FmPA ( ldap_unbind\050 ld \051;) 140.4 428 T 54 572/G5.1003339 FmPA ( return\050 0 \051;) 140.4 417 T 54 561/G5.1003340 FmPA (}) 140.4 406 T 54 550/G5.1003341 FmPA 54 539/G5.1003342 FmPA 3 12 Q (B.4.2) 64 373 T (Compare Using JNDI) 108 373 T 54 517/G5.999222 FmPA 4 9 Q (/*) 140.4 355 T 54 499/G5.1009380 FmPA ( * @\050#\051Compare.java) 140.4 344 T (1.2 99/07/26) 243 344 T 54 488/G5.1009864 FmPA ( *) 140.4 333 T 54 477/G5.1009865 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 322 T 54 466/G5.1009866 FmPA ( * Reserved.) 140.4 311 T 54 455/G5.1009867 FmPA ( *) 140.4 300 T 54 444/G5.1009868 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 289 T 54 433/G5.1009869 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 278 T 54 422/G5.1009870 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 267 T 54 411/G5.1009871 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 256 T 54 400/G5.1009872 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 245 T 54 389/G5.1009873 FmPA ( *) 140.4 234 T 54 378/G5.1009874 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 223 T 54 367/G5.1009875 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 212 T 54 356/G5.1009876 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 201 T 54 345/G5.1009877 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 190 T 54 334/G5.1009878 FmPA ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 179 T 54 323/G5.1009879 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 168 T 54 312/G5.1009880 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 157 T 54 301/G5.1009881 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 146 T 54 290/G5.1009882 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 135 T 54 279/G5.1009883 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 124 T 54 268/G5.1009884 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 113 T 54 257/G5.1009885 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 102 T 54 246/G5.1009886 FmPA ( *) 140.4 91 T 54 235/G5.1009887 FmPA ( * This software is not designed or intended for use in on-line) 140.4 80 T 54 224/G5.1009888 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.57/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "57" 61 %%Page: "58" 62 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (58) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 714 T 54 858/G5.1009889 FmPA ( * communications; or in the design, construction, operation or) 140.4 703 T 54 847/G5.1009890 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 692 T 54 836/G5.1009891 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 681 T 54 825/G5.1009892 FmPA ( */) 140.4 670 T 54 814/G5.1009893 FmPA 54 803/G5.1009894 FmPA 54 792/G5.1009895 FmPA (import java.util.Hashtable;) 140.4 637 T 54 781/G5.1009896 FmPA 54 770/G5.1009897 FmPA (import javax.naming.*;) 140.4 615 T 54 759/G5.1009898 FmPA (import javax.naming.directory.*;) 140.4 604 T 54 748/G5.1009899 FmPA 54 737/G5.1009900 FmPA (/*) 140.4 582 T 54 726/G5.1009901 FmPA ( * Use search\050\051 to compare values against values contained in entry) 140.4 571 T 54 715/G5.1009902 FmPA ( * "cn=Barbara Jensen, ou=Product Development, o=Ace Industry, c=US".) 140.4 560 T 54 704/G5.1009903 FmPA ( * We test to see if \0501\051 the value "person" is one of the values in the) 140.4 549 T 54 693/G5.1009904 FmPA ( * objectclass attribute \050it is\051, and if \0502\051 the value "xyzzy" is in the) 140.4 538 T 54 682/G5.1009905 FmPA ( * objectlass attribute \050it isn't, or at least, it shouldn't be\051.) 140.4 527 T 54 671/G5.1009906 FmPA ( *) 140.4 516 T 54 660/G5.1009907 FmPA ( * [equivalent to compare.c in Netscape SDK]) 140.4 505 T 54 649/G5.1009908 FmPA ( *) 140.4 494 T 54 638/G5.1009909 FmPA ( */) 140.4 483 T 54 627/G5.1009910 FmPA (class Compare {) 140.4 472 T 54 616/G5.1009911 FmPA 54 605/G5.1009912 FmPA (public static void main\050String[] args\051 {) 140.4 450 T 54 594/G5.1009913 FmPA 54 583/G5.1009914 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 428 T 54 572/G5.1009915 FmPA ( /*) 140.4 417 T 54 561/G5.1009916 FmPA ( * Specify the initial context implementation to use.) 140.4 406 T 54 550/G5.1009917 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 395 T 54 539/G5.1009918 FmPA ( * For example,) 140.4 384 T 54 528/G5.1009919 FmPA (*) 163.31 373 T (java) 187.04 373 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 213.22 373 T (\134) 552.6 373 T 54 517/G5.1009920 FmPA ( * Compare) 140.4 362 T 54 506/G5.1009921 FmPA ( */) 140.4 351 T 54 495/G5.1009922 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 340 T 54 484/G5.1009923 FmPA 54 473/G5.1009924 FmPA ( /* Specify host and port to use for directory service */) 140.4 318 T 54 462/G5.1009925 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 307 T 54 451/G5.1009926 FmPA 54 440/G5.1009927 FmPA ( DirContext ctx = null;) 140.4 285 T 54 429/G5.1009928 FmPA ( SearchControls ctls = new SearchControls\050\051;) 140.4 274 T 54 418/G5.1009929 FmPA ( ctls.setSearchScope\050SearchControls.OBJECT_SCOPE\051;) 140.4 263 T 54 407/G5.1009930 FmPA ( ctls.setReturningAttributes\050new String[0]\051; // do not return any attrs) 140.4 252 T 54 396/G5.1009931 FmPA 54 385/G5.1009932 FmPA ( try {) 140.4 230 T 54 374/G5.1009933 FmPA ( /* get a handle to an Initial DirContext */) 140.4 219 T 54 363/G5.1009934 FmPA ( ctx = new InitialDirContext\050env\051;) 140.4 208 T 54 352/G5.1009935 FmPA ( } catch \050NamingException e\051 {) 140.4 197 T 54 341/G5.1009936 FmPA ( System.err.println\050"Cannot get initial context."\051;) 140.4 186 T 54 330/G5.1009937 FmPA ( return;) 140.4 175 T 54 319/G5.1009938 FmPA ( }) 140.4 164 T 54 308/G5.1009939 FmPA 54 297/G5.1009940 FmPA ( try {) 140.4 142 T 54 286/G5.1009941 FmPA ( NamingEnumeration results =) 140.4 131 T 54 275/G5.1009942 FmPA ( ctx.search\050Env.ENTRYDN, "objectclass=person", ctls\051;) 140.4 120 T 54 264/G5.1009943 FmPA 54 253/G5.1009944 FmPA ( if \050results != null && results.hasMoreElements\050\051\051 {) 140.4 98 T 54 242/G5.1009945 FmPA ( System.out.println\050) 140.4 87 T 54 231/G5.1009946 FmPA ("The) 206.4 76 T (value) 232.12 76 T (\134"person\134") 263.25 76 T (is) 321.37 76 T (contained) 336.3 76 T (in) 389.02 76 T (the) 403.95 76 T (objectclass) 424.27 76 T (attribute."\051;) 487.8 76 T 54 220/G5.1009947 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.58/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "58" 62 %%Page: "59" 63 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (59) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( } else {) 140.4 714 T 54 858/G5.1009948 FmPA ( System.out.println\050) 140.4 703 T 54 847/G5.1009949 FmPA ("The) 181.8 692 T (value) 207.54 692 T (\134"person\134") 238.68 692 T (is) 296.82 692 T (not) 311.76 692 T (contained) 332.1 692 T (in) 384.84 692 T (the) 399.78 692 T (objectclass) 420.12 692 T (attribute.") 483.66 692 T (\051;) 547.2 692 T 54 836/G5.1009950 FmPA ( }) 140.4 681 T 54 825/G5.1009951 FmPA ( } catch \050NamingException e\051 {) 140.4 670 T 54 814/G5.1009952 FmPA ( System.err.println\050"Comparison of value person failed."\051;) 140.4 659 T 54 803/G5.1009953 FmPA ( }) 140.4 648 T 54 792/G5.1009954 FmPA 54 781/G5.1009955 FmPA ( try {) 140.4 626 T 54 770/G5.1009956 FmPA ( NamingEnumeration results =) 140.4 615 T 54 759/G5.1009957 FmPA ( ctx.search\050Env.ENTRYDN, "objectclass=xyzzy", ctls\051;) 140.4 604 T 54 748/G5.1009958 FmPA 54 737/G5.1009959 FmPA ( if \050results != null && results.hasMoreElements\050\051\051 {) 140.4 582 T 54 726/G5.1009960 FmPA ( System.out.println\050) 140.4 571 T 54 715/G5.1009961 FmPA ("The) 210 560 T (value) 235.95 560 T (\134"xyzzy\134") 267.3 560 T (is) 320.25 560 T (contained) 335.4 560 T (in) 388.35 560 T (the) 403.5 560 T (objectclass) 424.05 560 T (attribute."\051;) 487.8 560 T 54 704/G5.1009962 FmPA ( } else {) 140.4 549 T 54 693/G5.1009963 FmPA ( System.out.println\050) 140.4 538 T 54 682/G5.1009964 FmPA ("The) 184.5 527 T (value) 210.51 527 T (\134"xyzzy\134") 241.92 527 T (is) 294.93 527 T (not) 310.14 527 T (contained) 330.75 527 T (in) 383.76 527 T (the) 398.97 527 T (objectclass) 419.58 527 T (attribute.") 483.39 527 T (\051;) 547.2 527 T 54 671/G5.1009965 FmPA ( }) 140.4 516 T 54 660/G5.1009966 FmPA ( } catch \050NamingException e\051 {) 140.4 505 T 54 649/G5.1009967 FmPA ( System.err.println\050"Comparison of value xyzzy failed."\051;) 140.4 494 T 54 638/G5.1009968 FmPA ( }) 140.4 483 T 54 627/G5.1009969 FmPA (}) 140.4 472 T 54 616/G5.1009970 FmPA (}) 140.4 461 T 54 605/G5.1009971 FmPA 54 594/G5.1009972 FmPA 3 14 Q (B.5) 54 423.67 T ( Modify Attributes) 77.34 423.67 T 54 568/G5.999369 FmPA 3 12 Q (B.5.1) 64 400 T (Modify Attributes Using LDAP C API) 108 400 T 54 544/G5.999372 FmPA 4 9 Q (/*) 140.4 382 T 54 526/G5.999440 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 371 T 54 515/G5.1003344 FmPA ( * rights reserved.) 140.4 360 T 54 504/G5.1003345 FmPA ( *) 140.4 349 T 54 493/G5.1003346 FmPA ( * Modify an entry:) 140.4 338 T 54 482/G5.1003347 FmPA ( * - replace any existing values in the \322mail\323 attribute with \322babs@ace.com\323) 140.4 327 T 54 471/G5.1003348 FmPA ( * - add a new value to the \322description\323 attribute) 140.4 316 T 54 460/G5.1003349 FmPA ( */) 140.4 305 T 54 449/G5.1003350 FmPA 54 438/G5.1003351 FmPA (#include \322examples.h\323) 140.4 283 T 54 427/G5.1003352 FmPA 54 416/G5.1003353 FmPA (int) 140.4 261 T 54 405/G5.1003354 FmPA (main\050 int argc, char **argv \051) 140.4 250 T 54 394/G5.1003355 FmPA ({) 140.4 239 T 54 383/G5.1003356 FmPA ( LDAP *ld;) 140.4 228 T 54 372/G5.1003357 FmPA ( LDAPMod mod0;) 140.4 217 T 54 361/G5.1003358 FmPA ( LDAPMod mod1;) 140.4 206 T 54 350/G5.1003359 FmPA ( LDAPMod *mods[ 3 ];) 140.4 195 T 54 339/G5.1003360 FmPA ( char *vals0[ 2 ];) 140.4 184 T 54 328/G5.1003361 FmPA ( char *vals1[ 2 ];) 140.4 173 T 54 317/G5.1003362 FmPA ( time_t now;) 140.4 162 T 54 306/G5.1003363 FmPA ( char buf[ 128 ];) 140.4 151 T 54 295/G5.1003364 FmPA 54 284/G5.1003365 FmPA ( /* get a handle to an LDAP connection */) 140.4 129 T 54 273/G5.1003366 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 118 T 54 262/G5.1003367 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 107 T 54 251/G5.1003368 FmPA ( return\050 1 \051;) 140.4 96 T 54 240/G5.1003369 FmPA ( }) 140.4 85 T 54 229/G5.1003370 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.59/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "59" 63 %%Page: "60" 64 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (60) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( /* authenticate */) 140.4 714 T 54 858/G5.1003371 FmPA ( if \050 ldap_simple_bind_s\050 ld, ENTRYDN, ENTRYPW \051 != LDAP_SUCCESS \051 {) 140.4 703 T 54 847/G5.1003372 FmPA ( ldap_perror\050 ld, \322ldap_simple_bind_s\323 \051;) 140.4 692 T 54 836/G5.1003373 FmPA ( return\050 1 \051;) 140.4 681 T 54 825/G5.1003374 FmPA ( }) 140.4 670 T 54 814/G5.1003375 FmPA ( /* construct the list of modifications to make */) 140.4 659 T 54 803/G5.1003376 FmPA ( mod0.mod_op = LDAP_MOD_REPLACE;) 140.4 648 T 54 792/G5.1003377 FmPA ( mod0.mod_type = \322mail\323;) 140.4 637 T 54 781/G5.1003378 FmPA ( vals0[0] = \322babs@ace.com\323;) 140.4 626 T 54 770/G5.1003379 FmPA ( vals0[1] = NULL;) 140.4 615 T 54 759/G5.1003380 FmPA ( mod0.mod_values = vals0;) 140.4 604 T 54 748/G5.1003381 FmPA 54 737/G5.1003382 FmPA ( mod1.mod_op = LDAP_MOD_ADD;) 140.4 582 T 54 726/G5.1003383 FmPA ( mod1.mod_type = \322description\323;) 140.4 571 T 54 715/G5.1003384 FmPA ( time\050 &now \051;) 140.4 560 T 54 704/G5.1003385 FmPA ( sprintf\050 buf, \322This entry was modified with the modattrs program on %s\323,) 140.4 549 T 54 693/G5.1003386 FmPA ( ctime\050 &now \051\051;) 140.4 538 T 54 682/G5.1003387 FmPA ( /* Get rid of \134n which ctime put on the end of the time string */) 140.4 527 T 54 671/G5.1003388 FmPA ( if \050 buf[ strlen\050 buf \051 - 1 ] == \324\134n\325 \051 {) 140.4 516 T 54 660/G5.1003389 FmPA ( buf[ strlen\050 buf \051 - 1 ] = \324\1340\325;) 140.4 505 T 54 649/G5.1003390 FmPA ( }) 140.4 494 T 54 638/G5.1003391 FmPA ( vals1[ 0 ] = buf;) 140.4 483 T 54 627/G5.1003392 FmPA ( vals1[ 1 ] = NULL;) 140.4 472 T 54 616/G5.1003393 FmPA ( mod1.mod_values = vals1;) 140.4 461 T 54 605/G5.1003394 FmPA 54 594/G5.1003395 FmPA ( mods[ 0 ] = &mod0;) 140.4 439 T 54 583/G5.1003396 FmPA ( mods[ 1 ] = &mod1;) 140.4 428 T 54 572/G5.1003397 FmPA ( mods[ 2 ] = NULL;) 140.4 417 T 54 561/G5.1003398 FmPA 54 550/G5.1003399 FmPA ( /* make the change */) 140.4 395 T 54 539/G5.1003400 FmPA ( if \050 ldap_modify_s\050 ld, ENTRYDN, mods \051) 140.4 384 T 54 528/G5.1003401 FmPA ( != LDAP_SUCCESS \051 {) 140.4 373 T 54 517/G5.1003402 FmPA ( ldap_perror\050 ld, \322ldap_modify_s\323 \051;) 140.4 362 T 54 506/G5.1003403 FmPA ( return\050 1 \051;) 140.4 351 T 54 495/G5.1003404 FmPA ( }) 140.4 340 T 54 484/G5.1003405 FmPA ( ldap_unbind\050 ld \051;) 140.4 329 T 54 473/G5.1003406 FmPA ( printf\050 \322modification was successful\134n\323 \051;) 140.4 318 T 54 462/G5.1003407 FmPA ( return\050 0 \051;) 140.4 307 T 54 451/G5.1003408 FmPA (}) 140.4 296 T 54 440/G5.1003409 FmPA 54 429/G5.1003410 FmPA 3 12 Q (B.5.2) 64 263 T (Modify Attributes Using JNDI) 108 263 T 54 407/G5.999373 FmPA 4 9 Q (/*) 140.4 245 T 54 389/G5.1009453 FmPA ( * @\050#\051Modattrs.java) 140.4 234 T (1.2 99/07/26) 248.4 234 T 54 378/G5.1009974 FmPA ( *) 140.4 223 T 54 367/G5.1009975 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 212 T 54 356/G5.1009976 FmPA ( * Reserved.) 140.4 201 T 54 345/G5.1009977 FmPA ( *) 140.4 190 T 54 334/G5.1009978 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 179 T 54 323/G5.1009979 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 168 T 54 312/G5.1009980 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 157 T 54 301/G5.1009981 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 146 T 54 290/G5.1009982 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 135 T 54 279/G5.1009983 FmPA ( *) 140.4 124 T 54 268/G5.1009984 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 113 T 54 257/G5.1009985 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 102 T 54 246/G5.1009986 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 91 T 54 235/G5.1009987 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 80 T 54 224/G5.1009988 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.60/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "60" 64 %%Page: "61" 65 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (61) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 714 T 54 858/G5.1009989 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 703 T 54 847/G5.1009990 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 692 T 54 836/G5.1009991 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 681 T 54 825/G5.1009992 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 670 T 54 814/G5.1009993 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 659 T 54 803/G5.1009994 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 648 T 54 792/G5.1009995 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 637 T 54 781/G5.1009996 FmPA ( *) 140.4 626 T 54 770/G5.1009997 FmPA ( * This software is not designed or intended for use in on-line) 140.4 615 T 54 759/G5.1009998 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 604 T 54 748/G5.1009999 FmPA ( * communications; or in the design, construction, operation or) 140.4 593 T 54 737/G5.1010000 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 582 T 54 726/G5.1010001 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 571 T 54 715/G5.1010002 FmPA ( */) 140.4 560 T 54 704/G5.1010003 FmPA 54 693/G5.1010004 FmPA 54 682/G5.1010005 FmPA 54 671/G5.1010006 FmPA (import java.util.Hashtable;) 140.4 516 T 54 660/G5.1010007 FmPA (import java.util.Date;) 140.4 505 T 54 649/G5.1010008 FmPA 54 638/G5.1010009 FmPA (import javax.naming.*;) 140.4 483 T 54 627/G5.1010010 FmPA (import javax.naming.directory.*;) 140.4 472 T 54 616/G5.1010011 FmPA 54 605/G5.1010012 FmPA (/*) 140.4 450 T 54 594/G5.1010013 FmPA ( * Modify an entry:) 140.4 439 T 54 583/G5.1010014 FmPA ( * - replace any existing values in the "mail" attribute with "babs@ace.com") 140.4 428 T 54 572/G5.1010015 FmPA ( * - add a new value to the "description" attribute) 140.4 417 T 54 561/G5.1010016 FmPA ( *) 140.4 406 T 54 550/G5.1010017 FmPA ( * [equivalent to modattrs.c in Netscape SDK]) 140.4 395 T 54 539/G5.1010018 FmPA ( */) 140.4 384 T 54 528/G5.1010019 FmPA (class Modattrs {) 140.4 373 T 54 517/G5.1010020 FmPA 54 506/G5.1010021 FmPA (public static void main\050String[] args\051 {) 140.4 351 T 54 495/G5.1010022 FmPA 54 484/G5.1010023 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 329 T 54 473/G5.1010024 FmPA ( /*) 140.4 318 T 54 462/G5.1010025 FmPA ( * Specify the initial context implementation to use.) 140.4 307 T 54 451/G5.1010026 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 296 T 54 440/G5.1010027 FmPA ( * For example,) 140.4 285 T 54 429/G5.1010028 FmPA (*) 165.6 274 T (java) 186.12 274 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 212.76 274 T (\134) 552.6 274 T 54 418/G5.1010029 FmPA ( * Modattrs) 140.4 263 T 54 407/G5.1010030 FmPA ( */) 140.4 252 T 54 396/G5.1010031 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 241 T 54 385/G5.1010032 FmPA 54 374/G5.1010033 FmPA ( /* Specify host and port to use for directory service */) 140.4 219 T 54 363/G5.1010034 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 208 T 54 352/G5.1010035 FmPA 54 341/G5.1010036 FmPA ( /* specify authentication information */) 140.4 186 T 54 330/G5.1010037 FmPA ( env.put\050Context.SECURITY_AUTHENTICATION, "simple"\051;) 140.4 175 T 54 319/G5.1010038 FmPA ( env.put\050Context.SECURITY_PRINCIPAL, Env.MGR_DN\051;) 140.4 164 T 54 308/G5.1010039 FmPA ( env.put\050Context.SECURITY_CREDENTIALS, Env.MGR_PW\051;) 140.4 153 T 54 297/G5.1010040 FmPA 54 286/G5.1010041 FmPA ( try {) 140.4 131 T 54 275/G5.1010042 FmPA ( /* get a handle to an Initial DirContext */) 140.4 120 T 54 264/G5.1010043 FmPA ( DirContext ctx = new InitialDirContext\050env\051;) 140.4 109 T 54 253/G5.1010044 FmPA 54 242/G5.1010045 FmPA ( /* construct the list of modifications to make */) 140.4 87 T 54 231/G5.1010046 FmPA ( ModificationItem[] mods = new ModificationItem[2];) 140.4 76 T 54 220/G5.1010047 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.61/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "61" 65 %%Page: "62" 66 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (62) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 54 858/G5.1010048 FmPA 4 9 Q 0 X ( Attribute mod0 = new BasicAttribute\050"mail", "babs@eng"\051;) 140.4 703 T 54 847/G5.1010049 FmPA ( // Update mail attribute) 140.4 692 T 54 836/G5.1010050 FmPA ( mods[0] = new ModificationItem\050DirContext.REPLACE_ATTRIBUTE, mod0\051;) 140.4 681 T 54 825/G5.1010051 FmPA 54 814/G5.1010052 FmPA ( // Add another value to description attribute) 140.4 659 T 54 803/G5.1010053 FmPA ( Attribute mod1 =) 140.4 648 T 54 792/G5.1010054 FmPA ( new BasicAttribute\050"description",) 140.4 637 T 54 781/G5.1010055 FmPA ("This) 258.7 626 T (entry) 290.25 626 T (was) 321.8 626 T (modified) 342.55 626 T (with) 390.3 626 T (the) 416.45 626 T (Modattrs) 437.2 626 T (program) 484.95 626 T (on) 527.3 626 T (") 542.65 626 T (+) 552.6 626 T 54 770/G5.1010056 FmPA ( \050new Date\050\051\051.toString\050\051\051;) 140.4 615 T 54 759/G5.1010057 FmPA ( mods[1] = new ModificationItem\050DirContext.ADD_ATTRIBUTE, mod1\051;) 140.4 604 T 54 748/G5.1010058 FmPA 54 737/G5.1010059 FmPA ( /* Delete the description attribute altogether */) 140.4 582 T 54 726/G5.1010060 FmPA ( /*) 140.4 571 T 54 715/G5.1010061 FmPA ( Attribute mod1 = new BasicAttribute\050"description"\051;) 140.4 560 T 54 704/G5.1010062 FmPA ( mods[2] = new ModificationItem\050DirContext.REMOVE_ATTRIBUTE, mod1\051;) 140.4 549 T 54 693/G5.1010063 FmPA (*/) 165.6 538 T 54 682/G5.1010064 FmPA 54 671/G5.1010065 FmPA ( /* make the change */) 140.4 516 T 54 660/G5.1010066 FmPA ( ctx.modifyAttributes\050Env.ENTRYDN, mods\051;) 140.4 505 T 54 649/G5.1010067 FmPA ( System.out.println\050 "modification was successful." \051;) 140.4 494 T 54 638/G5.1010068 FmPA 54 627/G5.1010069 FmPA ( } catch \050NamingException e\051 {) 140.4 472 T 54 616/G5.1010070 FmPA ( System.err.println\050"modification failed. " + e\051;) 140.4 461 T 54 605/G5.1010071 FmPA ( }) 140.4 450 T 54 594/G5.1010072 FmPA (}) 140.4 439 T 54 583/G5.1010073 FmPA (}) 140.4 428 T 54 572/G5.1010074 FmPA 54 561/G5.1010075 FmPA 54 550/G5.1010076 FmPA 3 14 Q (B.6) 54 379.67 T ( Rename An Entry) 77.34 379.67 T 54 524/G5.1000268 FmPA 3 12 Q (B.6.1) 64 356 T (Rename Using LDAP C API) 108 356 T 54 500/G5.999520 FmPA 4 9 Q (/*) 140.4 338 T 54 482/G5.999524 FmPA ( * Copyright \050c\051 1996. Netscape Communications Corporation. All) 140.4 327 T 54 471/G5.1003412 FmPA ( * rights reserved.) 140.4 316 T 54 460/G5.1003413 FmPA ( *) 140.4 305 T 54 449/G5.1003414 FmPA ( * Modify the RDN \050relative distinguished name\051 of an entry. In this) 140.4 294 T 54 438/G5.1003415 FmPA ( * example, we change the dn \322cn=Jacques Smith, o=Ace Industry, c=US\323) 140.4 283 T 54 427/G5.1003416 FmPA ( * to \322cn=Jacques M Smith, o=Ace Industry, c=US\323.) 140.4 272 T 54 416/G5.1003417 FmPA ( *) 140.4 261 T 54 405/G5.1003418 FmPA ( * Since it is an error to either \0501\051 attempt to modrdn an entry which) 140.4 250 T 54 394/G5.1003419 FmPA ( * does not exist, or \0502\051 modrdn an entry where the destination name) 140.4 239 T 54 383/G5.1003420 FmPA ( * already exists, we take some steps, for this example, to make sure) 140.4 228 T 54 372/G5.1003421 FmPA ( * we\325ll succeed. We \0501\051 add \322cn=Jacques Smith\323 \050if the entry exists,) 140.4 217 T 54 361/G5.1003422 FmPA ( * we just ignore the error, and \0502\051 delete \322cn=Jacques M Smith\323 \050if the) 140.4 206 T 54 350/G5.1003423 FmPA ( * entry doesn\325t exist, we ignore the error\051.) 140.4 195 T 54 339/G5.1003424 FmPA ( *) 140.4 184 T 54 328/G5.1003425 FmPA ( * We pass 0 for the \322deleteoldrdn\323 argument to ldap_modrdn2_s\050\051. This) 140.4 173 T 54 317/G5.1003426 FmPA ( * means that after we change the RDN, the server will put the value) 140.4 162 T 54 306/G5.1003427 FmPA ( * \322Jacques Smith\323 into the cn attribute of the new entry, in addition to) 140.4 151 T 54 295/G5.1003428 FmPA ( * \322Jacques M Smith\323.) 140.4 140 T 54 284/G5.1003429 FmPA ( */) 140.4 129 T 54 273/G5.1003430 FmPA 54 262/G5.1003431 FmPA (#include \322examples.h\323) 140.4 107 T 54 251/G5.1003432 FmPA 54 240/G5.1003433 FmPA (#define NMODS 4) 140.4 85 T 54 229/G5.1003434 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.62/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "62" 66 %%Page: "63" 67 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (63) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 54 858/G5.1003435 FmPA 4 9 Q 0 X (unsigned long global_counter = 0;) 140.4 703 T 54 847/G5.1003436 FmPA 54 836/G5.1003437 FmPA (static void free_mods\050 LDAPMod **mods \051;) 140.4 681 T 54 825/G5.1003438 FmPA 54 814/G5.1003439 FmPA (int) 140.4 659 T 54 803/G5.1003440 FmPA (main\050 int argc, char **argv \051) 140.4 648 T 54 792/G5.1003441 FmPA ({) 140.4 637 T 54 781/G5.1003442 FmPA ( LDAP *ld;) 140.4 626 T 54 770/G5.1003443 FmPA ( char *dn, *ndn, *nrdn;) 140.4 615 T 54 759/G5.1003444 FmPA ( int i;) 140.4 604 T 54 748/G5.1003445 FmPA ( int rc;) 140.4 593 T 54 737/G5.1003446 FmPA ( LDAPMod **mods;) 140.4 582 T 54 726/G5.1003447 FmPA 54 715/G5.1003448 FmPA ( /* Values we\325ll use in creating the entry */) 140.4 560 T 54 704/G5.1003449 FmPA ( char *objectclass_values[] = { \322top\323, \322person\323, \322organizationalPerson\323,) 140.4 549 T 54 693/G5.1003450 FmPA ( \322inetOrgPerson\323, NULL };) 140.4 538 T 54 682/G5.1003451 FmPA ( char *cn_values[] = { \322Jacques Smith\323, NULL };) 140.4 527 T 54 671/G5.1003452 FmPA ( char *sn_values[] = { \322Smith\323, NULL };) 140.4 516 T 54 660/G5.1003453 FmPA ( char *givenname_values[] = { \322Jacques\323, NULL };) 140.4 505 T 54 649/G5.1003454 FmPA 54 638/G5.1003455 FmPA ( /* Specify the DN we\325re adding */) 140.4 483 T 54 627/G5.1003456 FmPA ( dn = \322cn=Jacques Smith, o=Ace Industry, c=US\323;) 140.4 472 T 54 616/G5.1003457 FmPA ( /* the destination DN */) 140.4 461 T 54 605/G5.1003458 FmPA ( ndn = \322cn=Jacques M Smith, o=Ace Industry, c=US\323;) 140.4 450 T 54 594/G5.1003459 FmPA ( /* the new RDN */) 140.4 439 T 54 583/G5.1003460 FmPA ( nrdn = \322cn=Jacques M Smith\323;) 140.4 428 T 54 572/G5.1003461 FmPA 54 561/G5.1003462 FmPA ( /* get a handle to an LDAP connection */) 140.4 406 T 54 550/G5.1003463 FmPA ( if \050 \050ld = ldap_init\050 MY_HOST, MY_PORT \051\051 == NULL \051 {) 140.4 395 T 54 539/G5.1003464 FmPA ( perror\050 \322ldap_init\323 \051;) 140.4 384 T 54 528/G5.1003465 FmPA ( return\050 1 \051;) 140.4 373 T 54 517/G5.1003466 FmPA ( }) 140.4 362 T 54 506/G5.1003467 FmPA ( /* authenticate to the directory as the Directory Manager */) 140.4 351 T 54 495/G5.1003468 FmPA ( if \050 ldap_simple_bind_s\050 ld, MGR_DN, MGR_PW \051 != LDAP_SUCCESS \051 {) 140.4 340 T 54 484/G5.1003469 FmPA ( ldap_perror\050 ld, \322ldap_simple_bind_s\323 \051;) 140.4 329 T 54 473/G5.1003470 FmPA ( return\050 1 \051;) 140.4 318 T 54 462/G5.1003471 FmPA ( }) 140.4 307 T 54 451/G5.1003472 FmPA 54 440/G5.1003473 FmPA ( if \050\050 mods = \050 LDAPMod ** \051 malloc\050\050 NMODS + 1 \051 * sizeof\050 LDAPMod *\051\051\051) 140.4 285 T 54 429/G5.1003474 FmPA ( == NULL \051 {) 140.4 274 T 54 418/G5.1003475 FmPA ( fprintf\050 stderr, \322Cannot allocate memory for mods array\134n\323 \051;) 140.4 263 T 54 407/G5.1003476 FmPA ( return\050 1 \051;) 140.4 252 T 54 396/G5.1003477 FmPA ( }) 140.4 241 T 54 385/G5.1003478 FmPA ( /* Construct the array of values to add */) 140.4 230 T 54 374/G5.1003479 FmPA ( for \050 i = 0; i < NMODS; i++ \051 {) 140.4 219 T 54 363/G5.1003480 FmPA (if) 180.72 208 T (\050\050) 196.56 208 T (mods[) 212.4 208 T (i) 244.44 208 T (]) 254.88 208 T (=) 265.32 208 T (\050) 275.76 208 T (LDAPMod) 286.2 208 T (*) 329.04 208 T (\051) 339.48 208 T (malloc\050) 349.92 208 T (sizeof\050) 392.76 208 T (LDAPMod) 435.6 208 T (\051\051\051) 478.44 208 T (==) 499.68 208 T (NULL) 515.52 208 T (\051) 542.16 208 T ({) 552.6 208 T 54 352/G5.1003481 FmPA ( fprintf\050 stderr, \322Cannot allocate memory for mods element\134n\323 \051;) 140.4 197 T 54 341/G5.1003482 FmPA ( return\050 1 \051;) 140.4 186 T 54 330/G5.1003483 FmPA ( }) 140.4 175 T 54 319/G5.1003484 FmPA ( }) 140.4 164 T 54 308/G5.1003485 FmPA ( mods[ 0 ]->mod_op = 0;) 140.4 153 T 54 297/G5.1003486 FmPA ( mods[ 0 ]->mod_type = \322objectclass\323;) 140.4 142 T 54 286/G5.1003487 FmPA ( mods[ 0 ]->mod_values = objectclass_values;) 140.4 131 T 54 275/G5.1003488 FmPA ( mods[ 1 ]->mod_op = 0;) 140.4 120 T 54 264/G5.1003489 FmPA ( mods[ 1 ]->mod_type = \322cn\323;) 140.4 109 T 54 253/G5.1003490 FmPA ( mods[ 1 ]->mod_values = cn_values;) 140.4 98 T 54 242/G5.1003491 FmPA ( mods[ 2 ]->mod_op = 0;) 140.4 87 T 54 231/G5.1003492 FmPA ( mods[ 2 ]->mod_type = \322sn\323;) 140.4 76 T 54 220/G5.1003493 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.63/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "63" 67 %%Page: "64" 68 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (64) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( mods[ 2 ]->mod_values = sn_values;) 140.4 714 T 54 858/G5.1003494 FmPA ( mods[ 3 ]->mod_op = 0;) 140.4 703 T 54 847/G5.1003495 FmPA ( mods[ 3 ]->mod_type = \322givenname\323;) 140.4 692 T 54 836/G5.1003496 FmPA ( mods[ 3 ]->mod_values = givenname_values;) 140.4 681 T 54 825/G5.1003497 FmPA ( mods[ 4 ] = NULL;) 140.4 670 T 54 814/G5.1003498 FmPA 54 803/G5.1003499 FmPA 54 792/G5.1003500 FmPA ( /* Add the entry */) 140.4 637 T 54 781/G5.1003501 FmPA ( if \050\050 rc = ldap_add_s\050 ld, dn, mods \051\051 != LDAP_SUCCESS \051 {) 140.4 626 T 54 770/G5.1003502 FmPA ( /* If entry exists already, fine. Ignore this error. */) 140.4 615 T 54 759/G5.1003503 FmPA ( if \050 rc == LDAP_ALREADY_EXISTS \051 {) 140.4 604 T 54 748/G5.1003504 FmPA ( printf\050 \322Entry \134\323%s is already in the directory.\134n\323, dn \051;) 140.4 593 T 54 737/G5.1003505 FmPA ( } else {) 140.4 582 T 54 726/G5.1003506 FmPA ( ldap_perror\050 ld, \322ldap_add_s\323 \051;) 140.4 571 T 54 715/G5.1003507 FmPA ( free_mods\050 mods \051;) 140.4 560 T 54 704/G5.1003508 FmPA ( return\050 1 \051;) 140.4 549 T 54 693/G5.1003509 FmPA ( }) 140.4 538 T 54 682/G5.1003510 FmPA ( } else {) 140.4 527 T 54 671/G5.1003511 FmPA ( printf\050 \322Added entry \134\323%s\134\323.\134n\323, dn \051;) 140.4 516 T 54 660/G5.1003512 FmPA ( }) 140.4 505 T 54 649/G5.1003513 FmPA ( free_mods\050 mods \051;) 140.4 494 T 54 638/G5.1003514 FmPA 54 627/G5.1003515 FmPA ( /* Delete the destination entry, for this example */) 140.4 472 T 54 616/G5.1003516 FmPA ( if \050\050 rc = ldap_delete_s\050 ld, ndn \051\051 != LDAP_SUCCESS \051 {) 140.4 461 T 54 605/G5.1003517 FmPA ( /* If entry does not exist, fine. Ignore this error. */) 140.4 450 T 54 594/G5.1003518 FmPA ( if \050 rc == LDAP_NO_SUCH_OBJECT \051 {) 140.4 439 T 54 583/G5.1003519 FmPA ( printf\050 \322Entry \134\323%s\134\323 is not in the directory. \322) 140.4 428 T 54 572/G5.1003520 FmPA ( \322No need to delete.\134n\323, ndn \051;) 140.4 417 T 54 561/G5.1003521 FmPA ( } else {) 140.4 406 T 54 550/G5.1003522 FmPA ( ldap_perror\050 ld, \322ldap_delete_s\323 \051;) 140.4 395 T 54 539/G5.1003523 FmPA ( return\050 1 \051;) 140.4 384 T 54 528/G5.1003524 FmPA ( }) 140.4 373 T 54 517/G5.1003525 FmPA ( } else {) 140.4 362 T 54 506/G5.1003526 FmPA ( printf\050 \322Deleted entry \134\323%s\134\323.\134n\323, ndn \051;) 140.4 351 T 54 495/G5.1003527 FmPA ( }) 140.4 340 T 54 484/G5.1003528 FmPA 54 473/G5.1003529 FmPA ( /* Do the modrdn operation */) 140.4 318 T 54 462/G5.1003530 FmPA ( if \050 ldap_modrdn2_s\050 ld, dn, nrdn, 0 \051 != LDAP_SUCCESS \051 {) 140.4 307 T 54 451/G5.1003531 FmPA ( ldap_perror\050 ld, \322ldap_modrdn2_s\323 \051;) 140.4 296 T 54 440/G5.1003532 FmPA ( return\050 1 \051;) 140.4 285 T 54 429/G5.1003533 FmPA ( }) 140.4 274 T 54 418/G5.1003534 FmPA 54 407/G5.1003535 FmPA ( printf\050 \322The modrdn operation was successful. Entry\134n\323) 140.4 252 T 54 396/G5.1003536 FmPA ( \322\134\323%s\134\323 has been changed to\134n\323) 140.4 241 T 54 385/G5.1003537 FmPA ( \322\134\323%s\134\323.\134n\323, dn, ndn \051;) 140.4 230 T 54 374/G5.1003538 FmPA 54 363/G5.1003539 FmPA ( ldap_unbind\050 ld \051;) 140.4 208 T 54 352/G5.1003540 FmPA ( return 0;) 140.4 197 T 54 341/G5.1003541 FmPA (}) 140.4 186 T 54 330/G5.1003542 FmPA 54 319/G5.1003543 FmPA 54 308/G5.1003544 FmPA 54 297/G5.1003545 FmPA (/*) 140.4 142 T 54 286/G5.1003546 FmPA ( * Free a mods array.) 140.4 131 T 54 275/G5.1003547 FmPA ( */) 140.4 120 T 54 264/G5.1003548 FmPA (static void) 140.4 109 T 54 253/G5.1003549 FmPA (free_mods\050 LDAPMod **mods \051) 140.4 98 T 54 242/G5.1003550 FmPA ({) 140.4 87 T 54 231/G5.1003551 FmPA ( int i;) 140.4 76 T 54 220/G5.1003552 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.64/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "64" 68 %%Page: "65" 69 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (65) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 54 858/G5.1003553 FmPA 4 9 Q 0 X ( for \050 i = 0; i < NMODS; i++ \051 {) 140.4 703 T 54 847/G5.1003554 FmPA ( free\050 mods[ i ] \051;) 140.4 692 T 54 836/G5.1003555 FmPA ( }) 140.4 681 T 54 825/G5.1003556 FmPA ( free\050 mods \051;) 140.4 670 T 54 814/G5.1003557 FmPA (}) 140.4 659 T 54 803/G5.1003558 FmPA 54 792/G5.1003559 FmPA 3 12 Q (B.6.2) 64 626 T (Rename Using JNDI) 108 626 T 54 770/G5.999523 FmPA 4 9 Q (/*) 140.4 608 T 54 752/G5.1009568 FmPA ( * @\050#\051Modrdn.java) 140.4 597 T (1.2 99/07/26) 237.6 597 T 54 741/G5.1010078 FmPA ( *) 140.4 586 T 54 730/G5.1010079 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 575 T 54 719/G5.1010080 FmPA ( * Reserved.) 140.4 564 T 54 708/G5.1010081 FmPA ( *) 140.4 553 T 54 697/G5.1010082 FmPA ( * Sun grants you \050"Licensee"\051 a non-exclusive, royalty free,) 140.4 542 T 54 686/G5.1010083 FmPA ( * license to use, modify and redistribute this software in source and) 140.4 531 T 54 675/G5.1010084 FmPA ( * binary code form, provided that i\051 this copyright notice and license) 140.4 520 T 54 664/G5.1010085 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not utilize) 140.4 509 T 54 653/G5.1010086 FmPA ( * the software in a manner which is disparaging to Sun.) 140.4 498 T 54 642/G5.1010087 FmPA ( *) 140.4 487 T 54 631/G5.1010088 FmPA ( * This software is provided "AS IS," without a warranty of any) 140.4 476 T 54 620/G5.1010089 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 465 T 54 609/G5.1010090 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS) 140.4 454 T 54 598/G5.1010091 FmPA ( * FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN) 140.4 443 T 54 587/G5.1010092 FmPA ( * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY) 140.4 432 T 54 576/G5.1010093 FmPA ( * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE) 140.4 421 T 54 565/G5.1010094 FmPA ( * OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR) 140.4 410 T 54 554/G5.1010095 FmPA ( * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 399 T 54 543/G5.1010096 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND) 140.4 388 T 54 532/G5.1010097 FmPA ( * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF) 140.4 377 T 54 521/G5.1010098 FmPA ( * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE) 140.4 366 T 54 510/G5.1010099 FmPA ( * POSSIBILITY OF SUCH DAMAGES.) 140.4 355 T 54 499/G5.1010100 FmPA ( *) 140.4 344 T 54 488/G5.1010101 FmPA ( * This software is not designed or intended for use in on-line) 140.4 333 T 54 477/G5.1010102 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 322 T 54 466/G5.1010103 FmPA ( * communications; or in the design, construction, operation or) 140.4 311 T 54 455/G5.1010104 FmPA ( * maintenance of any nuclear facility. Licensee represents and warrants) 140.4 300 T 54 444/G5.1010105 FmPA ( * that it will not use or redistribute the Software for such purposes.) 140.4 289 T 54 433/G5.1010106 FmPA ( */) 140.4 278 T 54 422/G5.1010107 FmPA 54 411/G5.1010108 FmPA 54 400/G5.1010109 FmPA (import java.util.Hashtable;) 140.4 245 T 54 389/G5.1010110 FmPA (import java.util.Date;) 140.4 234 T 54 378/G5.1010111 FmPA 54 367/G5.1010112 FmPA (import javax.naming.*;) 140.4 212 T 54 356/G5.1010113 FmPA (import javax.naming.directory.*;) 140.4 201 T 54 345/G5.1010114 FmPA 54 334/G5.1010115 FmPA (/*) 140.4 179 T 54 323/G5.1010116 FmPA ( * Modify the RDN \050relative distinguished name\051 of an entry. In this) 140.4 168 T 54 312/G5.1010117 FmPA ( * example, we change the dn "cn=Jacques Smith, o=Ace Industry, c=US") 140.4 157 T 54 301/G5.1010118 FmPA ( * to "cn=Jacques M Smith, o=Ace Industry, c=US".) 140.4 146 T 54 290/G5.1010119 FmPA ( *) 140.4 135 T 54 279/G5.1010120 FmPA ( * Since it is an error to either \0501\051 attempt to modrdn an entry which) 140.4 124 T 54 268/G5.1010121 FmPA ( * does not exist, or \0502\051 modrdn an entry where the destination name) 140.4 113 T 54 257/G5.1010122 FmPA ( * already exists, we take some steps, for this example, to make sure) 140.4 102 T 54 246/G5.1010123 FmPA ( * we'll succeed. We \0501\051 add "cn=Jacques Smith" \050if the entry exists,) 140.4 91 T 54 235/G5.1010124 FmPA ( * we just ignore the error, and \0502\051 delete "cn=Jacques M Smith" \050if the) 140.4 80 T 54 224/G5.1010125 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.65/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "65" 69 %%Page: "66" 70 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (66) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( * entry doesn't exist, we ignore the error\051.) 140.4 714 T 54 858/G5.1010126 FmPA ( *) 140.4 703 T 54 847/G5.1010127 FmPA ( * After renaming, we add back the attribute "Jacques Smith" into the cn) 140.4 692 T 54 836/G5.1010128 FmPA ( * attribute.) 140.4 681 T 54 825/G5.1010129 FmPA ( *) 140.4 670 T 54 814/G5.1010130 FmPA ( * [based on modrdn.c of Netscape SDK]) 140.4 659 T 54 803/G5.1010131 FmPA ( */) 140.4 648 T 54 792/G5.1010132 FmPA (class Modrdn {) 140.4 637 T 54 781/G5.1010133 FmPA 54 770/G5.1010134 FmPA (public static void main\050String[] args\051 {) 140.4 615 T 54 759/G5.1010135 FmPA 54 748/G5.1010136 FmPA ( /* Values we'll use in creating the entry */) 140.4 593 T 54 737/G5.1010137 FmPA ( Attribute objClasses = new BasicAttribute\050"objectclass"\051;) 140.4 582 T 54 726/G5.1010138 FmPA ( objClasses.add\050"top"\051;) 140.4 571 T 54 715/G5.1010139 FmPA ( objClasses.add\050"person"\051;) 140.4 560 T 54 704/G5.1010140 FmPA ( objClasses.add\050"organizationalPerson"\051;) 140.4 549 T 54 693/G5.1010141 FmPA ( objClasses.add\050"inetOrgPerson"\051;) 140.4 538 T 54 682/G5.1010142 FmPA 54 671/G5.1010143 FmPA ( Attribute cn = new BasicAttribute\050"cn", "Jacques Smith"\051;) 140.4 516 T 54 660/G5.1010144 FmPA ( Attribute sn = new BasicAttribute\050"sn", "Smith"\051;) 140.4 505 T 54 649/G5.1010145 FmPA ( Attribute givenNames = new BasicAttribute\050"givenname", "Jacques"\051;) 140.4 494 T 54 638/G5.1010146 FmPA 54 627/G5.1010147 FmPA ( /* Specify the DN we're adding */) 140.4 472 T 54 616/G5.1010148 FmPA ( String dn = "cn=Jacques Smith, " + Env.MY_MODBASE;) 140.4 461 T 54 605/G5.1010149 FmPA ( /* the destination DN */) 140.4 450 T 54 594/G5.1010150 FmPA ( String ndn = "cn=Jacques M Smith, " + Env.MY_MODBASE;) 140.4 439 T 54 583/G5.1010151 FmPA ( /* the new RDN */) 140.4 428 T 54 572/G5.1010152 FmPA ( String nrdn = "cn=Jacques M Smith";) 140.4 417 T 54 561/G5.1010153 FmPA 54 550/G5.1010154 FmPA ( Hashtable env = new Hashtable\0505, 0.75f\051;) 140.4 395 T 54 539/G5.1010155 FmPA ( /*) 140.4 384 T 54 528/G5.1010156 FmPA ( * Specify the initial context implementation to use.) 140.4 373 T 54 517/G5.1010157 FmPA ( * This could also be set by using the -D option to the java program.) 140.4 362 T 54 506/G5.1010158 FmPA ( * For example,) 140.4 351 T 54 495/G5.1010159 FmPA (*) 165.6 340 T (java) 186.12 340 T (-Djava.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory) 212.76 340 T (\134) 552.6 340 T 54 484/G5.1010160 FmPA ( * Modrdn) 140.4 329 T 54 473/G5.1010161 FmPA ( */) 140.4 318 T 54 462/G5.1010162 FmPA ( env.put\050Context.INITIAL_CONTEXT_FACTORY, Env.INITCTX\051;) 140.4 307 T 54 451/G5.1010163 FmPA 54 440/G5.1010164 FmPA ( /* Specify host and port to use for directory service */) 140.4 285 T 54 429/G5.1010165 FmPA ( env.put\050Context.PROVIDER_URL, Env.MY_SERVICE\051;) 140.4 274 T 54 418/G5.1010166 FmPA 54 407/G5.1010167 FmPA ( /* specify authentication information */) 140.4 252 T 54 396/G5.1010168 FmPA ( env.put\050Context.SECURITY_AUTHENTICATION, "simple"\051;) 140.4 241 T 54 385/G5.1010169 FmPA ( env.put\050Context.SECURITY_PRINCIPAL, Env.MGR_DN\051;) 140.4 230 T 54 374/G5.1010170 FmPA ( env.put\050Context.SECURITY_CREDENTIALS, Env.MGR_PW\051;) 140.4 219 T 54 363/G5.1010171 FmPA 54 352/G5.1010172 FmPA ( DirContext ctx = null;) 140.4 197 T 54 341/G5.1010173 FmPA 54 330/G5.1010174 FmPA ( try {) 140.4 175 T 54 319/G5.1010175 FmPA ( /* get a handle to an Initial DirContext */) 140.4 164 T 54 308/G5.1010176 FmPA ( ctx = new InitialDirContext\050env\051;) 140.4 153 T 54 297/G5.1010177 FmPA ( Attributes orig = new BasicAttributes\050\051;) 140.4 142 T 54 286/G5.1010178 FmPA ( orig.put\050objClasses\051;) 140.4 131 T 54 275/G5.1010179 FmPA ( orig.put\050cn\051;) 140.4 120 T 54 264/G5.1010180 FmPA ( orig.put\050sn\051;) 140.4 109 T 54 253/G5.1010181 FmPA ( orig.put\050givenNames\051;) 140.4 98 T 54 242/G5.1010182 FmPA 54 231/G5.1010183 FmPA ( /* Add the entry */) 140.4 76 T 54 220/G5.1010184 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.66/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "66" 70 %%Page: "67" 71 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (67) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V 4 9 Q 0 X ( ctx.createSubcontext\050dn, orig\051;) 140.4 714 T 54 858/G5.1010185 FmPA ( System.out.println\050 "Added entry " + dn + "."\051;) 140.4 703 T 54 847/G5.1010186 FmPA 54 836/G5.1010187 FmPA ( } catch \050NameAlreadyBoundException e\051 {) 140.4 681 T 54 825/G5.1010188 FmPA ( /* If entry exists already, fine. Ignore this error. */) 140.4 670 T 54 814/G5.1010189 FmPA (System.out.println\050"Entry) 182.08 659 T (") 322.29 659 T (+) 332.9 659 T (dn) 343.52 659 T (+) 359.53 659 T (") 370.14 659 T (already) 380.75 659 T (exists,) 423.76 659 T (no) 466.77 659 T (need) 482.78 659 T (to) 509.59 659 T (add"\051;) 525.6 659 T 54 803/G5.1010190 FmPA ( } catch \050NamingException e\051 {) 140.4 648 T 54 792/G5.1010191 FmPA ( System.err.println\050"Modrdn: problem adding entry." + e\051;) 140.4 637 T 54 781/G5.1010192 FmPA ( System.exit\0501\051;) 140.4 626 T 54 770/G5.1010193 FmPA ( }) 140.4 615 T 54 759/G5.1010194 FmPA 54 748/G5.1010195 FmPA ( try {) 140.4 593 T 54 737/G5.1010196 FmPA ( /* Delete the destination entry, for this example */) 140.4 582 T 54 726/G5.1010197 FmPA ( ctx.destroySubcontext\050ndn\051;) 140.4 571 T 54 715/G5.1010198 FmPA ( System.out.println\050 "Deleted entry " + ndn + "." \051;) 140.4 560 T 54 704/G5.1010199 FmPA 54 693/G5.1010200 FmPA ( } catch \050NameNotFoundException e\051 {) 140.4 538 T 54 682/G5.1010201 FmPA ( /* If entry does not exist, fine. Ignore this error. */) 140.4 527 T 54 671/G5.1010202 FmPA ( System.out.println\050 "Entry " + ndn + " is not in the directory. " +) 140.4 516 T 54 660/G5.1010203 FmPA ( "No need to delete."\051;) 140.4 505 T 54 649/G5.1010204 FmPA ( } catch \050NamingException e\051 {) 140.4 494 T 54 638/G5.1010205 FmPA ( System.err.println\050"Modrdn: problem deleting entry." + e\051;) 140.4 483 T 54 627/G5.1010206 FmPA ( System.exit\0501\051;) 140.4 472 T 54 616/G5.1010207 FmPA ( }) 140.4 461 T 54 605/G5.1010208 FmPA 54 594/G5.1010209 FmPA 54 583/G5.1010210 FmPA ( /* Do the modrdn operation */) 140.4 428 T 54 572/G5.1010211 FmPA ( try {) 140.4 417 T 54 561/G5.1010212 FmPA ( ctx.rename\050dn, ndn\051;) 140.4 406 T 54 550/G5.1010213 FmPA ( System.out.println\050"The modrdn operation was successful. Entry " +) 140.4 395 T 54 539/G5.1010214 FmPA ( dn + " has been changed to " + ndn + "."\051;) 140.4 384 T 54 528/G5.1010215 FmPA ( } catch \050NamingException e\051 {) 140.4 373 T 54 517/G5.1010216 FmPA ( System.err.println\050"Modify operation failed." + e\051;) 140.4 362 T 54 506/G5.1010217 FmPA ( }) 140.4 351 T 54 495/G5.1010218 FmPA (}) 140.4 340 T 54 484/G5.1010219 FmPA (}) 140.4 329 T 54 473/G5.1010220 FmPA 54 462/G5.1010221 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.67/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "67" 71 %%Page: "68" 72 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Examples for LDAP Programmers) 419.4 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (68) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.68/DEST FmPD2 [/Dest/L5/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "68" 72 %%Page: "69" 73 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Legend for Class Diagram) 451.05 749.33 T 54 893/G6.149890 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (69) 301 36 T (7/14/99) 527.44 36 T 54 180/G6.149824 FmPA 72 180/G6.149827 FmPA 72 180/G6.149830 FmPA 72 180/G6.149833 FmPA 54 72 558 720 R 7 X V 3 18 Q 0 X ( Appendix C: Legend for Class Diagram) 151 708 T 54 852/G6.150244 FmPA 2 10.5 Q (In a class diagram, we visually distinguish the dif) 72 681 T (ferent kinds of Ja) 279.68 681 T (v) 352.08 681 T (a entities, as follo) 357.06 681 T (ws:) 430.88 681 T 54 825/G6.151480 FmPA (1.) 63 663 T (The interf) 75 663 T (ace: A rounded rectangle) 116.59 663 T 54 807/G6.151481 FmPA (2.) 63 650 T (The class: A rectangle) 75 650 T 54 794/G6.151482 FmPA (3.) 63 637 T (The abstract class: A rectangle with an empty dot) 75 637 T 54 781/G6.151483 FmPA (4.) 63 624 T (The \336) 75 624 T (nal class: A rectangle with a black dot) 99.79 624 T 54 768/G6.151484 FmPA (5.) 63 611 T (Classes with subclasses: A rectangle with a small black triangle on the lo) 75 611 T (wer right corner) 381.54 611 T 54 755/G6.151485 FmPA 2 10 Q (Most of these elements are sho) 54 592.33 T (wn belo) 177.34 592.33 T (w) 209.03 592.33 T (. The class or interf) 215.6 592.33 T (ace being described in the current chapter is shaded gre) 292.98 592.33 T (y \050this is) 514.15 592.33 T 54 736/G6.151489 FmPA (not applicable for package class diagrams\051. A solid line represents) 54 580.33 T 2 9 Q (extends) 321.44 580.33 T 2 10 Q (, while a dotted line represents) 348.93 580.33 T 2 9 Q (implements) 473.64 580.33 T 2 10 Q (.) 515.64 580.33 T 54 468/G6.150462 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 126.73 332.19 485.27 577 C 144.28 407.71 469.04 502.71 R 7 X V 0 30.24 666.76 355 761.76 324.76 95 144.28 407.71 FMBEGINEPSF %%BeginDocument: %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSansTypewriter %%DocumentNeededFonts: LucidaSansTypewriter %%BoundingBox: 30.24 666.76 355 761.76 %%EndComments /fontsize 6.00 def /boxdict 100 dict def boxdict begin /inch { 72 mul } def % % Primary input variables. If you change the default font, make sure % to update the comments above too. % /defaultfont /LucidaSansTypewriter def /defaultscale fontsize def % % This variable is the approximate amount that the `center' of the text % line is above the baseline, as a fraction of the total height of % the font. % /centerabovebaseline 0 def /realtextheight 0 def /setcenterabovebaseline { gsave 0 0 moveto (\() false charpath pathbbox exch pop exch neg exch 2 index add /realtextheight exch def realtextheight div /centerabovebaseline exch def pop grestore } def /pagebegin { /pagerestore save def defaultfont findfont defaultscale scalefont setfont setcenterabovebaseline .5 inch -.5 inch translate } def /descender { /lly 0.0 def /ury 0.0 def { ( ) dup 0 4 -1 roll put charheight pop dup lly lt { /lly exch def } { pop } ifelse } forall lly } def % % This show operator takes a width and scales the text to fit the width. % It can scale height and width identically (aspect=1), or just scale % width (aspect=0), or scale width twice as much as height (aspect=0.5). % Set aspect to your taste. /mtwshow means max-text-width-show. A % more functional solution would take the maxtextwidth as a parameter % rather than using a global, but this has more impact on the existing % code so I don't do that. % /aspect 0.5 def /mtwshow { gsave 0 h 2 div centerabovebaseline 0.5 sub realtextheight mul add rmoveto currentpoint translate dup stringwidth pop dup javamaxtextwidth gt { 0 centerabovebaseline translate javamaxtextwidth exch div dup aspect mul 1 aspect sub add scale 0 centerabovebaseline neg translate } { pop } ifelse 0 0 moveto show grestore } def % % This macro gives us a rectangular path, just like rectstroke except it does not stroke. % Assumes origin is lower left hand corner, so only two args are passed. % /rectpath { /h exch def /w exch def newpath 0 0 moveto w 0 rlineto 0 h rlineto w neg 0 rlineto closepath } def % % This macro works like rectpath except it draws rounded corners. The radius of % the rounded corners must be set in the global variable /roundrectradius. % /roundrectradius 0 def /roundrectpath { /h exch def /w exch def newpath w 2 div 0 moveto w 0 w h roundrectradius arct w h w 2 div h roundrectradius arct 0 h 0 0 roundrectradius arct 0 0 w 2 div 0 roundrectradius arct closepath } def % % This macro takes a width and a height and draws either a roundrectpath or a rectpath % depending on the setting of the /rounded macro. It also sets the roundrectradius % to half the height before doing this, as appropriate for the smaller boxes. % /rounded false def % by default, square boxes. /javarect { /h exch def /w exch def /roundrectradius h 2 div def w h rounded { roundrectpath } { rectpath } ifelse } def % % Draw a shadowed box/rounded box. This is the four-argument macro that takes a x, y, % width, and height. % /shadowed true def /corner false def /shadowxoff 2 def /shadowyoff -2 def /shadowcolor { 0.6 0.6 0.6 } def /boxbgcolor { 1 1 1 } def /dotted false def /dotcolor { 0 0 0 } def /black { 0 0 0 } def /javabox { /h exch def /w exch def gsave translate shadowed { gsave shadowxoff shadowyoff translate shadowcolor setrgbcolor w h javarect gsave stroke grestore fill grestore } if w h javarect gsave boxbgcolor setrgbcolor fill grestore stroke % % Always draw the dot centered at position (w-h/2, h/2) with a size of 0.6 of the height. % /javamaxtextwidth maxtextwidth def dotted { gsave /r 0.4 h mul 2 div def w h 2 div sub h 2 div r 0 360 arc gsave dotcolor setrgbcolor fill grestore stroke grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if corner { gsave w h 3 div sub 0 moveto w h 3 div lineto w 0 lineto w h 3 div sub 0 lineto gsave stroke grestore black setrgbcolor fill grestore % chan: don't decrease the width. I'll take of that % when generating the code. %/javamaxtextwidth javamaxtextwidth r h 2 div add sub def } if grestore } def end % %%EndProlog %%BeginSetup boxdict begin %%EndSetup %%Page: 1 1 pagebegin 1 setlinecap 1 setlinejoin % currentlinewidth 0.1 mul setlinewidth .3 setlinewidth /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.0 inch 10.84 inch 1.6 inch 0.16 inch javabox 0.08 inch 10.84 inch moveto (java.lang.Object) mtwshow /rounded false def /corner true def /dotted true def /dotcolor { 1 1 1 } def /maxtextwidth 97.92 def /boxbgcolor {1 1 1} def 0.24 inch 10.6 inch 1.6 inch 0.16 inch javabox 0.32 inch 10.6 inch moveto (MenuComponent) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.48 inch 10.36 inch 1.6 inch 0.16 inch javabox 0.5599999999999999 inch 10.36 inch moveto (MenuItem) mtwshow /rounded false def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {0.8 0.8 0.8} def 0.72 inch 10.12 inch 1.6 inch 0.16 inch javabox 0.7999999999999999 inch 10.12 inch moveto (CheckboxMenuItem) mtwshow /rounded false def /corner true def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 0.72 inch 9.879999999999999 inch 1.6 inch 0.16 inch javabox 0.7999999999999999 inch 9.879999999999999 inch moveto (Menu) mtwshow gsave 0.12 inch 10.84 inch moveto 0.12 inch 10.68 inch lineto 0.24 inch 10.68 inch lineto stroke grestore gsave 0.36 inch 10.6 inch moveto 0.36 inch 10.44 inch lineto 0.48 inch 10.44 inch lineto stroke grestore gsave 0.6 inch 10.36 inch moveto 0.6 inch 10.2 inch lineto 0.72 inch 10.2 inch lineto stroke grestore gsave 0.6 inch 10.36 inch moveto 0.6 inch 9.959999999999999 inch lineto 0.72 inch 9.959999999999999 inch lineto stroke grestore /rounded true def /corner false def /dotted false def /maxtextwidth 103.68 def /boxbgcolor {1 1 1} def 2.6399999999999997 inch 10.12 inch 1.6 inch 0.16 inch javabox 2.7199999999999998 inch 10.12 inch moveto (ItemSelectable) mtwshow gsave .5 setlinewidth [0.1 3] 1.6 setdash 2.5199999999999996 inch 10.2 inch moveto 2.5199999999999996 inch 10.2 inch lineto 2.3200000000000003 inch 10.2 inch moveto 2.5199999999999996 inch 10.2 inch lineto 2.5199999999999996 inch 10.2 inch moveto 2.6399999999999997 inch 10.2 inch lineto stroke grestore grestore showpage pagerestore restore %%Trailer end %%EOF %%EndDocument FMENDEPSF 0 0 0 1 0 0 0 1 K 410.01 437.67 420.55 396.17 2 L 0.5 H 2 Z 0 X N 2 10 Q (Interf) 425.16 390.24 T (ace) 447.27 390.24 T 269.01 473.91 294.71 515.42 2 L N (Abstract class) 242.66 521.35 T 303.93 440.31 289.44 388.92 2 L N (The current class) 260.45 377.06 T 290.1 457.44 358.62 510.15 2 L N (Class with subclasses) 343.46 518.05 T 329.63 439.65 363.89 380.35 2 L N 2 9 Q (implements) 354.66 368.49 T 192.58 436.36 182.7 399.46 2 L N (e) 163.6 390.24 T (xtends) 167.46 390.24 T 191.93 494.99 184.68 508.83 2 L N 2 10 Q (Class from) 139.88 524.64 T (another package) 139.88 513.58 T 54 72 558 720 C 0 0 612 792 C 0 0 0 1 0 0 0 1 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.69/DEST FmPD2 [/Dest/F6/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "69" 73 %%Page: "70" 74 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (Legend for Class Diagram) 451.05 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (70) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.70/DEST FmPD2 [/Dest/L6/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "70" 74 %%Page: "71" 75 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Change History) 470.23 749.33 T 54 893/G7.149890 FmPA 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (71) 301 36 T (7/14/99) 527.44 36 T 54 180/G7.149824 FmPA 72 180/G7.149827 FmPA 72 180/G7.149830 FmPA 72 180/G7.149833 FmPA 54 72 558 720 R 7 X V 3 18 Q 0 X ( Appendix D: JNDI Change History) 168.25 708 T 54 852/G7.150244 FmPA 54 665.99 558 676 C 0 0 0 1 0 0 0 1 K 54 665.99 558 676 R 7 X V 56 674.02 176 674.02 2 L V 1 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 3 12 Q 0 X (1.2: JNDI Changes Since 1.1) 54 680 T 54 824/G7.151997 FmPA 2 10 Q (\245) 54 656.33 T (Added) 72 656.33 T 4 F (javax.naming.event) 101.16 656.33 T 2 F ( package.) 209.16 656.33 T 54 800/G7.152001 FmPA (\245) 54 644.33 T (Added) 72 644.33 T 4 F (javax.naming.ldap) 101.16 644.33 T 2 F ( package.) 203.16 644.33 T 54 788/G7.152002 FmPA (\245) 54 632.33 T (Added support for con\336guration using resource \336les. See Chapter 6 of the) 72 632.33 T 3 F (JNDI API) 370.01 632.33 T 2 F ( document.) 413.06 632.33 T 54 776/G7.152004 FmPA 3 F (API-r) 54 610.33 T (elated Changes) 78.81 610.33 T 54 754/G7.152008 FmPA 2 F (\245) 54 595.33 T (Added) 72 595.33 T 4 F (NamingEnumeration.close\050\051) 101.16 595.33 T 2 F ( for cancelling or terminating enumerations.) 251.16 595.33 T 54 739/G7.152003 FmPA (\245) 54 583.33 T (Added) 72 583.33 T 4 F (ReferralException.getReferralContext\050Hashtable env\051) 101.16 583.33 T 2 F ( and) 407.16 583.33 T 4 F (ReferralExcep-) 426.6 583.33 T 54 727/G7.152014 FmPA (tion.retryReferral\050\051) 72 571.33 T 2 F ( to allo) 192 571.33 T (w creation and retry of referral conte) 219.53 571.33 T (xt with dif) 366.54 571.33 T (ferent en) 407.96 571.33 T (vironment properties.) 442.82 571.33 T (\245) 54 559.33 T (Clari\336ed ho) 72 559.33 T (w conte) 119.25 559.33 T (xt methods that accept) 150.48 559.33 T 4 F (Name) 242.69 559.33 T 2 F ( ar) 266.69 559.33 T (gument should deal with) 276.78 559.33 T 4 F (CompositeName) 377.89 559.33 T 2 F ( and non) 455.89 559.33 T 4 F (Composite-) 490.33 559.33 T 54 703/G7.152015 FmPA (Name) 72 547.33 T 2 F (ar) 98.3 547.33 T (guments.) 105.89 547.33 T (Speci\336cally) 144.59 547.33 T (,) 191.16 547.33 T (instances) 195.96 547.33 T (of) 234.93 547.33 T 4 F (CompositeName) 245.56 547.33 T 2 F (are) 325.86 547.33 T (treated) 340.38 547.33 T (as) 369.89 547.33 T (composite) 380.52 547.33 T (name,) 423.94 547.33 T (while) 450.4 547.33 T (all) 474.92 547.33 T (others) 487.23 547.33 T (are) 513.97 547.33 T (treated) 528.49 547.33 T (as compound name.) 72 535.33 T (\245) 54 523.33 T (Added) 72 523.33 T 4 F (Context.getNameInNamespace\050\051) 101.16 523.33 T 2 F ( for retrie) 269.16 523.33 T (ving the full name of a conte) 306.67 523.33 T (xt within its o) 421.5 523.33 T (wn namespace.) 476.54 523.33 T 54 667/G7.152016 FmPA (\245) 54 511.33 T (Clari\336ed de\336nition of the class f) 72 511.33 T (actory location of a) 201.06 511.33 T 4 F (Reference) 281.04 511.33 T 2 F ( object. Speci\336cally) 335.04 511.33 T (, the location is a codebase, which) 413.55 511.33 T 54 655/G7.152018 FmPA (consists of a list space-separated URLs.) 72 499.33 T (\245) 54 487.33 T (Added support for ordered multi) 72 487.33 T (v) 201.73 487.33 T (alued attrib) 206.48 487.33 T (utes to) 251.55 487.33 T 4 F (Attribute) 280.44 487.33 T 2 F ( and) 334.44 487.33 T 4 F (BasicAttribute) 353.88 487.33 T 2 F (.) 437.88 487.33 T 54 631/G7.152019 FmPA (\245) 54 475.33 T (Added) 72 475.33 T 4 F (BasicAttributes.equals\050\051) 101.16 475.33 T 2 F ( and) 245.16 475.33 T 4 F (BasicAttributes.hashCode\050\051) 264.6 475.33 T 2 F (.) 420.6 475.33 T 54 619/G7.152053 FmPA (\245) 54 463.33 T (Rede\336ned semantics of) 72 463.33 T 4 F (DirContext.getSchemaClassDefinition\050\051) 167.82 463.33 T 2 F ( so that it returns a conte) 389.82 463.33 T (xt that contains) 487.99 463.33 T 54 607/G7.152020 FmPA (the) 72 451.33 T 4 F (DirContext) 86.72 451.33 T 2 F ( objects of class de\336nitions, rather than returning one \050arbitrary\051 class de\336nition.) 146.72 451.33 T (\245) 54 439.33 T (Added protected) 72 439.33 T 4 F (InitialContext) 140.87 439.33 T 2 F (/) 224.87 439.33 T 4 F (InitialDirContext) 227.65 439.33 T 2 F ( constructors to allo) 329.65 439.33 T (w lazy initialization. Useful for sub-) 408.56 439.33 T 54 583/G7.152037 FmPA (class implementations.) 72 427.33 T 3 F (SPI-r) 54 405.33 T (elated Changes) 77.15 405.33 T 54 549/G7.152011 FmPA 2 F (\245) 54 390.33 T (Added) 72 390.33 T 4 F (StateFactory) 101.16 390.33 T 2 F (/) 173.16 390.33 T 4 F (NamingManager.getStateToBind\050\051) 175.94 390.33 T 2 F (, analogous to) 355.94 390.33 T 4 F (ObjectFactory) 414.27 390.33 T 2 F (/) 492.27 390.33 T 4 F (NamingMan-) 495.05 390.33 T 54 534/G7.152061 FmPA (ager.getObjectInstance\050\051) 72 378.33 T 2 F (,) 216 378.33 T (for) 220.97 378.33 T (transforming) 235.1 378.33 T (an) 289.22 378.33 T (object\325) 301.13 378.33 T (s) 328.35 378.33 T (state) 334.71 378.33 T (before) 355.51 378.33 T (the) 383.52 378.33 T (object) 398.2 378.33 T (is) 425.11 378.33 T (bound) 434.25 378.33 T (in) 461.72 378.33 T (the) 471.96 378.33 T (naming/directory) 486.65 378.33 T (service.) 72 366.33 T (\245) 54 354.33 T (Added interf) 72 354.33 T (aces) 122.72 354.33 T 4 F (DirObjectFactory) 142.43 354.33 T 2 F ( and) 238.43 354.33 T 4 F (DirStateFactory) 257.87 354.33 T 2 F ( to better support service pro) 347.87 354.33 T (viders that implement) 462.42 354.33 T 54 498/G7.152060 FmPA (the) 72 342.33 T 4 F (DirContext) 86.72 342.33 T 2 F ( interf) 146.72 342.33 T (ace. Added) 170.78 342.33 T 4 F (DirectoryManager.getObjectInstance\050\051) 218.26 342.33 T 2 F ( and) 434.26 342.33 T 4 F (DirectoryMan-) 453.7 342.33 T (ager.getStateToStore\050\051) 72 330.33 T 2 F ( to use these interf) 204 330.33 T (aces.) 277.22 330.33 T (\245) 54 318.33 T (Re\336ned de\336nition of) 72 318.33 T 4 F (NamingManager.getObjectInstance\050\051) 157.28 318.33 T 2 F ( to not treat URL strings specially) 355.28 318.33 T (. Instead, the) 490.18 318.33 T 54 462/G7.152009 FmPA (URL should be wrapped inside a) 72 306.33 T 4 F (Reference) 205.87 306.33 T 2 F ( whose) 259.87 306.33 T 4 F (RefAddr) 290.42 306.33 T 2 F ( type is \322URL\323.) 332.42 306.33 T (\245) 54 294.33 T (Made) 72 294.33 T 4 F (ResolveResult) 97.27 294.33 T 2 F ( implement) 175.27 294.33 T 4 F (Serializable) 223.05 294.33 T 2 F (.) 295.05 294.33 T 54 438/G7.152058 FmPA (\245) 54 282.33 T (De\336ned) 72 282.33 T (a) 105.93 282.33 T (special) 112.65 282.33 T (form) 142.69 282.33 T (of) 164.4 282.33 T 4 F (Reference) 175.01 282.33 T 2 F (called) 231.28 282.33 T (a) 257.43 282.33 T (ne) 264.15 282.33 T (xt) 273.44 282.33 T (naming) 283.49 282.33 T (system) 315.77 282.33 T (\050nns\051) 345.82 282.33 T (reference) 368.64 282.33 T (for) 408.11 282.33 T (supporting) 422.04 282.33 T (\322dynamic) 467.09 282.33 T (federation\323.) 508.25 282.33 T 54 426/G7.152073 FmPA (This reference has a) 72 270.33 T 4 F (RefAddr) 154.74 270.33 T 2 F ( type of \322nns\323 and a content consisting of the resolv) 196.74 270.33 T (ed object.) 403.78 270.33 T (\245) 54 258.33 T (Added the string constant) 72 258.33 T 4 F (NamingManager.CPE) 176.99 258.33 T 2 F ( which names a property set by) 278.99 258.33 T 4 F (NamingManager.getContinu-) 405.91 258.33 T 54 402/G7.152085 FmPA (ationContext\050\051) 72 246.33 T 2 F (/) 156 246.33 T 4 F (DirectoryManager.getContinuationContext\050\051) 158.78 246.33 T 2 F (. The v) 404.78 246.33 T (alue of this property is an) 432.58 246.33 T (instance) 72 234.33 T (of) 106.96 234.33 T 4 F (CannotProceedException) 117.47 234.33 T 2 F (.) 249.48 234.33 T (This) 254.16 234.33 T (is) 274.13 234.33 T (useful) 282.99 234.33 T (to) 309.61 234.33 T (service) 319.58 234.33 T (pro) 350.09 234.33 T (viders) 363.27 234.33 T (that) 389.9 234.33 T (implement) 407.08 234.33 T (federation) 452.05 234.33 T (by) 494.78 234.33 T (chaining) 506.96 234.33 T (the) 543.59 234.33 T (CPEs.) 72 222.33 T (\245) 54 210.33 T (De\336ned a con) 72 210.33 T (v) 127.14 210.33 T (ention for service pro) 131.99 210.33 T (viders to use when naming en) 217.65 210.33 T (vironment properties. See Section 6.1.) 336.4 210.33 T 54 354/G7.152100 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.71/DEST FmPD2 [/Dest/F7/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "71" 75 %%Page: "72" 76 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 54 746 558 756 R 7 X V 0 10 Q 0 X (Java Naming and Directory Interface) 54 749.33 T (JNDI Change History) 470.23 749.33 T 54 32.67 558 42.67 R 7 X V 0 X (Sun Microsystems, Inc.) 54 36 T (72) 301 36 T (7/14/99) 527.44 36 T 54 72 558 720 R 7 X V [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.72/DEST FmPD2 [/Dest/L7/DEST FmPD2 [/Title(A)/Rect[45 63 567 729]/ARTICLE FmPD2 [/Page 5/View[/XYZ null 108 864 FmDC exch pop null]/Title(1 Introduction)/OUT FmPD [/Page 6/View[/XYZ null 108 864 FmDC exch pop null]/Title(2 Goals and Design Principles)/Count -5/OUT FmPD [/Page 6/View[/XYZ null 108 806 FmDC exch pop null]/Title(2.1 Keep it consistent and intuitive)/OUT FmPD [/Page 6/View[/XYZ null 108 682 FmDC exch pop null]/Title(2.2 Pay for what you use)/OUT FmPD [/Page 6/View[/XYZ null 108 592 FmDC exch pop null]/Title(2.3 Implementable over common directory and naming services and protocols)/OUT FmPD [/Page 6/View[/XYZ null 108 412 FmDC exch pop null]/Title(2.4 Seamless integration)/OUT FmPD [/Page 7/View[/XYZ null 108 864 FmDC exch pop null]/Title(2.5 Support for leading industry standards)/OUT FmPD [/Page 8/View[/XYZ null 108 864 FmDC exch pop null]/Title(3 Overview of the Architecture)/OUT FmPD [/Page 9/View[/XYZ null 108 864 FmDC exch pop null]/Title(4 Fundamentals)/Count -4/OUT FmPD [/Page 9/View[/XYZ null 108 736 FmDC exch pop null]/Title(4.1 Naming \204 The Foundation)/OUT FmPD [/Page 10/View[/XYZ null 108 556 FmDC exch pop null]/Title(4.2 Directory Objects)/OUT FmPD [/Page 12/View[/XYZ null 108 640 FmDC exch pop null]/Title(4.3 URLs and Composite Names)/OUT FmPD [/Page 12/View[/XYZ null 108 474 FmDC exch pop null]/Title(4.4 Events)/OUT FmPD [/Page 13/View[/XYZ null 108 864 FmDC exch pop null]/Title(5 Overview of the Interface)/Count -4/OUT FmPD [/Page 13/View[/XYZ null 108 582 FmDC exch pop null]/Title(5.1 The Naming Package \204 javax.naming)/Count -6/OUT FmPD [/Page 13/View[/XYZ null 108 313 FmDC exch pop null]/Title(5.1.1 Contexts)/OUT FmPD [/Page 14/View[/XYZ null 108 561 FmDC exch pop null]/Title(5.1.2 The Initial Context)/OUT FmPD [/Page 14/View[/XYZ null 108 416 FmDC exch pop null]/Title(5.1.3 Names)/OUT FmPD [/Page 15/View[/XYZ null 108 699 FmDC exch pop null]/Title(5.1.4 Bindings)/OUT FmPD [/Page 15/View[/XYZ null 108 320 FmDC exch pop null]/Title(5.1.5 References)/OUT FmPD [/Page 16/View[/XYZ null 108 599 FmDC exch pop null]/Title(5.1.6 Referrals)/OUT FmPD [/Page 17/View[/XYZ null 108 864 FmDC exch pop null]/Title(5.2 The Directory Package \204 javax.naming.directory)/Count -6/OUT FmPD [/Page 17/View[/XYZ null 108 610 FmDC exch pop null]/Title(5.2.1 Directory Objects)/OUT FmPD [/Page 18/View[/XYZ null 108 725 FmDC exch pop null]/Title(5.2.2 Attributes)/OUT FmPD [/Page 18/View[/XYZ null 108 290 FmDC exch pop null]/Title(5.2.3 Directory Objects as Naming Contexts)/OUT FmPD [/Page 19/View[/XYZ null 108 681 FmDC exch pop null]/Title(5.2.4 The Initial Context)/OUT FmPD [/Page 19/View[/XYZ null 108 538 FmDC exch pop null]/Title(5.2.5 Searches)/OUT FmPD [/Page 20/View[/XYZ null 108 557 FmDC exch pop null]/Title(5.2.6 Schema)/OUT FmPD [/Page 22/View[/XYZ null 108 864 FmDC exch pop null]/Title(5.3 The Event Package \204 javax.naming.event)/Count -4/OUT FmPD [/Page 22/View[/XYZ null 108 666 FmDC exch pop null]/Title(5.3.1 Naming Events)/OUT FmPD [/Page 22/View[/XYZ null 108 351 FmDC exch pop null]/Title(5.3.2 Naming Listeners)/OUT FmPD [/Page 23/View[/XYZ null 108 864 FmDC exch pop null]/Title(5.3.3 Event Registration and Deregistration)/OUT FmPD [/Page 24/View[/XYZ null 108 767 FmDC exch pop null]/Title(5.3.4 Exception Handling)/OUT FmPD [/Page 24/View[/XYZ null 108 561 FmDC exch pop null]/Title(5.4 The LDAP Package \204 javax.naming.ldap)/Count -4/OUT FmPD [/Page 25/View[/XYZ null 108 827 FmDC exch pop null]/Title(5.4.1 Extended Operations)/OUT FmPD [/Page 25/View[/XYZ null 108 386 FmDC exch pop null]/Title(5.4.2 Controls)/OUT FmPD [/Page 26/View[/XYZ null 108 297 FmDC exch pop null]/Title(5.4.3 The Initial Context)/OUT FmPD [/Page 27/View[/XYZ null 108 747 FmDC exch pop null]/Title(5.4.4 Unsolicited Notifications)/OUT FmPD [/Page 28/View[/XYZ null 108 864 FmDC exch pop null]/Title(6 Configuration)/Count -6/OUT FmPD [/Page 28/View[/XYZ null 108 832 FmDC exch pop null]/Title(6.1 Environment Properties)/OUT FmPD [/Page 29/View[/XYZ null 108 864 FmDC exch pop null]/Title(6.2 Context Environment)/OUT FmPD [/Page 29/View[/XYZ null 108 573 FmDC exch pop null]/Title(6.3 Resource Files)/Count -2/OUT FmPD [/Page 29/View[/XYZ null 108 427 FmDC exch pop null]/Title(6.3.1 Application Resource Files)/OUT FmPD [/Page 30/View[/XYZ null 108 723 FmDC exch pop null]/Title(6.3.2 Provider Resource Files)/OUT FmPD [/Page 30/View[/XYZ null 108 549 FmDC exch pop null]/Title(6.4 Application/Applet-scope Standard JNDI Properties)/OUT FmPD [/Page 30/View[/XYZ null 108 329 FmDC exch pop null]/Title(6.5 How the Environment Properties are Set)/OUT FmPD [/Page 31/View[/XYZ null 108 824 FmDC exch pop null]/Title(6.6 Modifications to the Environment)/Count -4/OUT FmPD [/Page 31/View[/XYZ null 108 641 FmDC exch pop null]/Title(6.6.1 Scope)/OUT FmPD [/Page 31/View[/XYZ null 108 514 FmDC exch pop null]/Title(6.6.2 Timeliness)/OUT FmPD [/Page 31/View[/XYZ null 108 429 FmDC exch pop null]/Title(6.6.3 Defaults)/OUT FmPD [/Page 31/View[/XYZ null 108 282 FmDC exch pop null]/Title(6.6.4 Acceptable Values)/OUT FmPD [/Page 33/View[/XYZ null 108 864 FmDC exch pop null]/Title(7 Scenarios)/Count -5/OUT FmPD [/Page 33/View[/XYZ null 108 758 FmDC exch pop null]/Title(7.1 User authentication)/OUT FmPD [/Page 33/View[/XYZ null 108 598 FmDC exch pop null]/Title(7.2 Electronic Mail)/OUT FmPD [/Page 33/View[/XYZ null 108 276 FmDC exch pop null]/Title(7.3 Databases)/OUT FmPD [/Page 34/View[/XYZ null 108 682 FmDC exch pop null]/Title(7.4 Browsing)/OUT FmPD [/Page 35/View[/XYZ null 108 576 FmDC exch pop null]/Title(7.5 Network Printing)/Count -1/OUT FmPD [/Page 36/View[/XYZ null 108 711 FmDC exch pop null]/Title(7.5.1 Browsing and searching for printers)/OUT FmPD [/Page 37/View[/XYZ null 108 864 FmDC exch pop null]/Title(8 Security Considerations)/Count -8/OUT FmPD [/Page 37/View[/XYZ null 108 640 FmDC exch pop null]/Title(8.1 JNDI Classes)/OUT FmPD [/Page 37/View[/XYZ null 108 454 FmDC exch pop null]/Title(8.2 Security Model)/OUT FmPD [/Page 38/View[/XYZ null 108 864 FmDC exch pop null]/Title(8.3 Access To Servers)/OUT FmPD [/Page 38/View[/XYZ null 108 740 FmDC exch pop null]/Title(8.4 Sharing Context Handles)/OUT FmPD [/Page 38/View[/XYZ null 108 512 FmDC exch pop null]/Title(8.5 Context Environment)/OUT FmPD [/Page 38/View[/XYZ null 108 332 FmDC exch pop null]/Title(8.6 Class Loading)/OUT FmPD [/Page 39/View[/XYZ null 108 754 FmDC exch pop null]/Title(8.7 Serializable Objects)/OUT FmPD [/Page 39/View[/XYZ null 108 658 FmDC exch pop null]/Title(8.8 Responsibilities of Service Providers)/Count -4/OUT FmPD [/Page 39/View[/XYZ null 108 633 FmDC exch pop null]/Title(8.8.1 Context Environment)/OUT FmPD [/Page 39/View[/XYZ null 108 430 FmDC exch pop null]/Title(8.8.2 Network Security)/OUT FmPD [/Page 40/View[/XYZ null 108 813 FmDC exch pop null]/Title(8.8.3 Accessing Local Files)/OUT FmPD [/Page 40/View[/XYZ null 108 742 FmDC exch pop null]/Title(8.8.4 Privileged Code, Native Methods)/OUT FmPD [/Page 41/View[/XYZ null 108 864 FmDC exch pop null]/Title(9 Design Choices)/Count -10/OUT FmPD [/Page 41/View[/XYZ null 108 832 FmDC exch pop null]/Title(9.1 Separation of Interfaces into Context and DirContext)/OUT FmPD [/Page 41/View[/XYZ null 108 646 FmDC exch pop null]/Title(9.2 Separation of JNDI into Different Functional Packages)/OUT FmPD [/Page 41/View[/XYZ null 108 472 FmDC exch pop null]/Title(9.3 Separation of Client APIs and Service Provider Interfaces)/OUT FmPD [/Page 41/View[/XYZ null 108 354 FmDC exch pop null]/Title(9.4 Multiple methods for listing Context)/OUT FmPD [/Page 42/View[/XYZ null 108 546 FmDC exch pop null]/Title(9.5 Support for Federation)/OUT FmPD [/Page 42/View[/XYZ null 108 366 FmDC exch pop null]/Title(9.6 DirContext versus DirObject)/OUT FmPD [/Page 43/View[/XYZ null 108 748 FmDC exch pop null]/Title(9.7 Support for Schemas)/OUT FmPD [/Page 43/View[/XYZ null 108 518 FmDC exch pop null]/Title(9.8 Overloaded Methods in Context and DirContext)/OUT FmPD [/Page 44/View[/XYZ null 108 864 FmDC exch pop null]/Title(9.9 Reference and Referenceable)/OUT FmPD [/Page 44/View[/XYZ null 108 538 FmDC exch pop null]/Title(9.10 Automatically Turning References into Objects)/OUT FmPD [/Page 45/View[/XYZ null 202 571 FmDC exch pop null]/Title(Appendix A: JNDI Standard Environment Properties)/OUT FmPD [/Page 49/View[/XYZ null 223 571 FmDC exch pop null]/Title(Appendix B: Examples for LDAP Programmers)/Count -6/OUT FmPD [/Page 51/View[/XYZ null 80 864 FmDC exch pop null]/Title(B.1 Search the Directory)/Count -2/OUT FmPD [/Page 51/View[/XYZ null 108 839 FmDC exch pop null]/Title(B.1.1 Search Using LDAP C API)/OUT FmPD [/Page 52/View[/XYZ null 108 745 FmDC exch pop null]/Title(B.1.2 Search Using JNDI)/OUT FmPD [/Page 54/View[/XYZ null 80 797 FmDC exch pop null]/Title(B.2 Read An Entry)/Count -2/OUT FmPD [/Page 54/View[/XYZ null 108 772 FmDC exch pop null]/Title(B.2.1 Read Using LDAP C-API)/OUT FmPD [/Page 55/View[/XYZ null 108 668 FmDC exch pop null]/Title(B.2.2 Read Using JNDI)/OUT FmPD [/Page 56/View[/XYZ null 80 291 FmDC exch pop null]/Title(B.3 Get Attributes)/Count -2/OUT FmPD [/Page 56/View[/XYZ null 108 266 FmDC exch pop null]/Title(B.3.1 Get Attributes Using LDAP C API)/OUT FmPD [/Page 58/View[/XYZ null 108 734 FmDC exch pop null]/Title(B.3.2 Get Attributes Using JNDI)/OUT FmPD [/Page 60/View[/XYZ null 80 665 FmDC exch pop null]/Title(B.4 Compare An Attribute)/Count -2/OUT FmPD [/Page 60/View[/XYZ null 108 640 FmDC exch pop null]/Title(B.4.1 Compare Using LDAP C API)/OUT FmPD [/Page 61/View[/XYZ null 108 525 FmDC exch pop null]/Title(B.4.2 Compare Using JNDI)/OUT FmPD [/Page 63/View[/XYZ null 80 577 FmDC exch pop null]/Title(B.5 Modify Attributes)/Count -2/OUT FmPD [/Page 63/View[/XYZ null 108 552 FmDC exch pop null]/Title(B.5.1 Modify Attributes Using LDAP C API)/OUT FmPD [/Page 64/View[/XYZ null 108 415 FmDC exch pop null]/Title(B.5.2 Modify Attributes Using JNDI)/OUT FmPD [/Page 66/View[/XYZ null 80 533 FmDC exch pop null]/Title(B.6 Rename An Entry)/Count -2/OUT FmPD [/Page 66/View[/XYZ null 108 508 FmDC exch pop null]/Title(B.6.1 Rename Using LDAP C API)/OUT FmPD [/Page 69/View[/XYZ null 108 778 FmDC exch pop null]/Title(B.6.2 Rename Using JNDI)/OUT FmPD [/Page 73/View[/XYZ null 256 864 FmDC exch pop null]/Title(Appendix C: Legend for Class Diagram)/OUT FmPD [/Page 75/View[/XYZ null 273 864 FmDC exch pop null]/Title(Appendix D: JNDI Change History)/Count -1/OUT FmPD [/Page 75/View[/XYZ null 54 832 FmDC exch pop null]/Title(1.2: JNDI Changes Since 1.1)/Count -2/OUT FmPD [/Page 75/View[/XYZ null 54 761 FmDC exch pop null]/Title(API-related Changes)/OUT FmPD [/Page 75/View[/XYZ null 54 556 FmDC exch pop null]/Title(SPI-related Changes)/OUT FmPD [ /PageMode /UseOutlines /Page 1 /View [/XYZ null null null] /DOCVIEW FmPD2 FMENDPAGE %%EndPage: "72" 76 %%Trailer FMENDDOCUMENT %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 76 %%DocumentFonts: Times-Italic %%+ Symbol %%+ Times-Roman %%+ Times-Bold %%+ Courier %%+ Helvetica-Bold %%+ Helvetica %%+ Courier-Bold %%+ Courier-Oblique %%DocumentNeedsFonts: Times-Italic %%+ Symbol %%+ Times-Roman %%+ Times-Bold %%+ Courier %%+ Helvetica-Bold %%+ Helvetica %%+ Courier-Bold %%+ Courier-Oblique %%DocumentSuppliedFonts: %%EOF .