%!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 23 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: Courier-Oblique 5 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.149739 FmPA 0 12 Q 0 X (Please send technical comments to jndi@java.sun.com.) 108 401 T 54 545/G1.150347 FmPA (Please send product and business questions to jndi-business@java.sun.com.) 108 381 T 54 525/G1.150348 FmPA 54 505/G1.149847 FmPA 54 485/G1.149848 FmPA 54 465/G1.149923 FmPA 54 445/G1.150196 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 126 601.2 366 639 R V 0 24 Q 0 X (Sun Microsystems, Inc.) 126 623 T 126 767/G1.82918 FmPA 126 513 558 588.6 R 7 X V 0 X (Java Naming and Directory Interface) 175.37 572.6 T 1 F (\324) 536.64 572.6 T 126 717/G1.82919 FmPA 0 F (Service Provider Interface) 303.41 546.6 T 126 691/G1.150314 FmPA (\050JNDI SPI\051) 449.38 520.6 T 126 665/G1.150321 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 126 601.2 558 601.2 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.150299 FmPA (July 14, 1999) 492.42 79.27 T 306 223/G1.150303 FmPA 63 72 261 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 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 SPI) 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.150167 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.150168 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 SPI) 54 749.33 T 54 893/G2.387 FmPA 54 72 558 720 R 7 X V 3 18 Q 0 X (Contents) 270 708 T 54 852/G2.450 FmPA 2 12 Q (1 Introduction) 54 674 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 129 674 T (1) 480 674 T 54 818/G2.5519 FmPA (1.1 Document Overview) 104.4 657 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 231 657 T (1) 480 657 T 54 801/G2.5521 FmPA (1.2 Interface Overview) 104.4 643 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 222 643 T (2) 480 643 T 54 787/G2.5523 FmPA 2 10 Q (1.2.1 NamingManager and DirectoryManager) 153 630.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340 630.33 T (2) 481 630.33 T 54 774/G2.5525 FmPA (1.2.2 Initial Contexts) 153 618.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 240 618.33 T (2) 481 618.33 T 54 762/G2.5527 FmPA (1.2.3 Object Factories) 153 606.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 245 606.33 T (2) 481 606.33 T 54 750/G2.5529 FmPA (1.2.4 State Factories) 153 594.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 237.5 594.33 T (2) 481 594.33 T 54 738/G2.5531 FmPA (1.2.5 Federation Support) 153 582.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 582.33 T (3) 481 582.33 T 54 726/G2.5533 FmPA 2 12 Q (2 Building a Context Implementation) 54 559 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 240 559 T (4) 480 559 T 54 703/G2.5535 FmPA (2.1 Ownership of Parameters) 104.4 542 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252 542 T (4) 480 542 T 54 686/G2.5537 FmPA (2.2 Reentrancy) 104.4 528 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 186 528 T (4) 480 528 T 54 672/G2.5539 FmPA (2.3 Basic Support\321Implementing the Context Interface\050s\051) 104.4 514 T ( . . . . . . . . . . . . . .) 393 514 T (4) 480 514 T 54 658/G2.5541 FmPA (2.4 Object Support) 104.4 500 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 204 500 T (5) 480 500 T 54 644/G2.5543 FmPA 2 10 Q (2.4.1 Reading an Object) 153 487.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252.5 487.33 T (5) 481 487.33 T 54 631/G2.5545 FmPA (2.4.2 Storing an Object) 153 475.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 250 475.33 T (7) 481 475.33 T 54 619/G2.5547 FmPA 2 12 Q (2.5 Federation Support) 104.4 462 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 222 462 T (9) 480 462 T 54 606/G2.5549 FmPA 2 10 Q (2.5.1 Names) 153 449.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 207.5 449.33 T (9) 481 449.33 T 54 593/G2.5551 FmPA (2.5.2 Resolving Through a Context) 153 437.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 297.5 437.33 T (9) 481 437.33 T 54 581/G2.5553 FmPA (2.5.3 Resolving Through to Subinterfaces of Context) 153 425.33 T (. . . . . . . . . . . . . . . . . . . . .) 370 425.33 T (10) 476 425.33 T 54 569/G2.5555 FmPA (2.5.4 Naming System Boundaries) 153 413.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 292.5 413.33 T (10) 476 413.33 T 54 557/G2.5557 FmPA (2.5.5 Continuing an Operation in a Federation) 153 401.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . .) 340 401.33 T (11) 476 401.33 T 54 545/G2.5559 FmPA (2.5.6 \322Dynamic\323 Location of Next Naming System) 153 389.33 T ( . . . . . . . . . . . . . . . . . . . . . .) 362.5 389.33 T (12) 476 389.33 T 54 533/G2.5561 FmPA (2.5.7 More about CannotProceedException) 153 377.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 330 377.33 T (13) 476 377.33 T 54 521/G2.5563 FmPA (2.5.8 Contextual Information) 153 365.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 272.5 365.33 T (13) 476 365.33 T 54 509/G2.5565 FmPA 2 12 Q (2.6 Referral Support) 104.4 352 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 210 352 T (14) 474 352 T 54 496/G2.5567 FmPA (2.7 Schema Support) 104.4 338 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 210 338 T (15) 474 338 T 54 482/G2.5569 FmPA (2.8 Event Support) 104.4 324 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 198 324 T (16) 474 324 T 54 468/G2.5571 FmPA (2.9 Context Environment Support) 104.4 310 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 276 310 T (17) 474 310 T 54 454/G2.5573 FmPA 2 10 Q (2.9.1 Property Naming Convention) 153 297.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 297.5 297.33 T (17) 476 297.33 T 54 441/G2.5575 FmPA (2.9.2 Initializing a Context\325s Environment) 153 285.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 325 285.33 T (17) 476 285.33 T 54 429/G2.5577 FmPA (2.9.3 Inheritance) 153 273.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 225 273.33 T (17) 476 273.33 T 54 417/G2.5579 FmPA (2.9.4 Updates to the Environment) 153 261.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 292.5 261.33 T (18) 476 261.33 T 54 405/G2.5581 FmPA (2.9.5 Provider Resource Files) 153 249.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 275 249.33 T (18) 476 249.33 T 54 393/G2.5583 FmPA 2 12 Q (2.10 Connection Management) 104.4 236 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 258 236 T (19) 474 236 T 54 380/G2.5585 FmPA (3 The Initial Context) 54 212 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 162 212 T (20) 474 212 T 54 356/G2.5587 FmPA (3.1 The Initial Context Factory) 104.4 195 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 261 195 T (20) 474 195 T 54 339/G2.5589 FmPA 2 10 Q (3.1.1 Exceptions) 153 182.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 222.5 182.33 T (21) 476 182.33 T 54 326/G2.5591 FmPA 2 12 Q (3.2 URL Support) 104.4 169 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 195 169 T (21) 474 169 T 54 313/G2.5593 FmPA 2 10 Q (3.2.1 URL Context) 153 156.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 232.5 156.33 T (21) 476 156.33 T 54 300/G2.5595 FmPA (3.2.2 URL Context Factory) 153 144.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 270 144.33 T (22) 476 144.33 T 54 288/G2.5597 FmPA (3.2.3 Service Provider\325s Responsibility) 153 132.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 312.5 132.33 T (22) 476 132.33 T 54 276/G2.5599 FmPA 2 12 Q (3.3 Overriding the Default Behavior) 104.4 119 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 285 119 T (23) 474 119 T 54 263/G2.5601 FmPA 2 10 Q (3.3.1 Removing URL Support) 153 106.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 277.5 106.33 T (23) 476 106.33 T 54 250/G2.5603 FmPA (3.3.2 Removing All Policy) 153 94.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 265 94.33 T (23) 476 94.33 T 54 238/G2.5605 FmPA 2 12 Q (3.4 Implementing a Subclass of InitialContext) 104.4 81 T ( . . . . . . . . . . . . . . . . . . . . . . .) 333 81 T (23) 474 81 T 54 225/G2.5607 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.iii/DEST FmPD2 [/Dest/F2/DEST FmPD2 [/Rect[54 670 129 683]/Border[0 0 0]/Dest/G3.996852/LNK FmPD2 54 826/I2.1.5518 FmPA [/Rect[54 653 558 666]/Border[0 0 0]/Dest/G3.1002621/LNK FmPD2 104 809/I2.1.5520 FmPA [/Rect[54 639 558 652]/Border[0 0 0]/Dest/G3.1007434/LNK FmPD2 104 795/I2.1.5522 FmPA [/Rect[54 626 558 637]/Border[0 0 0]/Dest/G3.1007441/LNK FmPD2 153 781/I2.1.5524 FmPA [/Rect[54 614 558 625]/Border[0 0 0]/Dest/G3.1007443/LNK FmPD2 153 769/I2.1.5526 FmPA [/Rect[54 602 558 613]/Border[0 0 0]/Dest/G3.1007452/LNK FmPD2 153 757/I2.1.5528 FmPA [/Rect[54 590 558 601]/Border[0 0 0]/Dest/G3.1007461/LNK FmPD2 153 745/I2.1.5530 FmPA [/Rect[54 578 558 589]/Border[0 0 0]/Dest/G3.1007466/LNK FmPD2 153 733/I2.1.5532 FmPA [/Rect[54 555 243 568]/Border[0 0 0]/Dest/G3.998980/LNK FmPD2 54 711/I2.1.5534 FmPA [/Rect[54 538 558 551]/Border[0 0 0]/Dest/G3.1004470/LNK FmPD2 104 694/I2.1.5536 FmPA [/Rect[54 524 558 537]/Border[0 0 0]/Dest/G3.1007769/LNK FmPD2 104 680/I2.1.5538 FmPA [/Rect[54 510 558 523]/Border[0 0 0]/Dest/G3.1007828/LNK FmPD2 104 666/I2.1.5540 FmPA [/Rect[54 496 558 509]/Border[0 0 0]/Dest/G3.1002974/LNK FmPD2 104 652/I2.1.5542 FmPA [/Rect[54 483 558 494]/Border[0 0 0]/Dest/G3.1003127/LNK FmPD2 153 638/I2.1.5544 FmPA [/Rect[54 471 558 482]/Border[0 0 0]/Dest/G3.1003128/LNK FmPD2 153 626/I2.1.5546 FmPA [/Rect[54 458 558 471]/Border[0 0 0]/Dest/G3.1003676/LNK FmPD2 104 614/I2.1.5548 FmPA [/Rect[54 445 558 456]/Border[0 0 0]/Dest/G3.1002989/LNK FmPD2 153 600/I2.1.5550 FmPA [/Rect[54 433 558 444]/Border[0 0 0]/Dest/G3.1003557/LNK FmPD2 153 588/I2.1.5552 FmPA [/Rect[54 421 558 432]/Border[0 0 0]/Dest/G3.1003600/LNK FmPD2 153 576/I2.1.5554 FmPA [/Rect[54 409 558 420]/Border[0 0 0]/Dest/G3.1003689/LNK FmPD2 153 564/I2.1.5556 FmPA [/Rect[54 397 558 408]/Border[0 0 0]/Dest/G3.1003693/LNK FmPD2 153 552/I2.1.5558 FmPA [/Rect[54 385 558 396]/Border[0 0 0]/Dest/G3.1003761/LNK FmPD2 153 540/I2.1.5560 FmPA [/Rect[54 373 558 384]/Border[0 0 0]/Dest/G3.1004102/LNK FmPD2 153 528/I2.1.5562 FmPA [/Rect[54 361 558 372]/Border[0 0 0]/Dest/G3.1004188/LNK FmPD2 153 516/I2.1.5564 FmPA [/Rect[54 348 558 361]/Border[0 0 0]/Dest/G3.1002999/LNK FmPD2 104 504/I2.1.5566 FmPA [/Rect[54 334 558 347]/Border[0 0 0]/Dest/G3.1003028/LNK FmPD2 104 490/I2.1.5568 FmPA [/Rect[54 320 558 333]/Border[0 0 0]/Dest/G3.1005769/LNK FmPD2 104 476/I2.1.5570 FmPA [/Rect[54 306 558 319]/Border[0 0 0]/Dest/G3.1002895/LNK FmPD2 104 462/I2.1.5572 FmPA [/Rect[54 293 558 304]/Border[0 0 0]/Dest/G3.1004358/LNK FmPD2 153 448/I2.1.5574 FmPA [/Rect[54 702 558 721]/Border[0 0 0]/Dest/G83960/Action/GoToR/File(introduction.pdf)/LNK FmPD2 270 864/I2.1.449 FmPA [/Rect[54 281 558 292]/Border[0 0 0]/Dest/G3.1002898/LNK FmPD2 153 436/I2.1.5576 FmPA [/Rect[54 269 558 280]/Border[0 0 0]/Dest/G3.1002900/LNK FmPD2 153 424/I2.1.5578 FmPA [/Rect[54 257 558 268]/Border[0 0 0]/Dest/G3.1002905/LNK FmPD2 153 412/I2.1.5580 FmPA [/Rect[54 245 558 256]/Border[0 0 0]/Dest/G3.1004380/LNK FmPD2 153 400/I2.1.5582 FmPA [/Rect[54 232 558 245]/Border[0 0 0]/Dest/G3.1005562/LNK FmPD2 104 388/I2.1.5584 FmPA [/Rect[54 208 163 221]/Border[0 0 0]/Dest/G3.1002345/LNK FmPD2 54 364/I2.1.5586 FmPA [/Rect[54 191 558 204]/Border[0 0 0]/Dest/G3.1004566/LNK FmPD2 104 347/I2.1.5588 FmPA [/Rect[54 178 558 189]/Border[0 0 0]/Dest/G3.1007521/LNK FmPD2 153 333/I2.1.5590 FmPA [/Rect[54 165 558 178]/Border[0 0 0]/Dest/G3.1004642/LNK FmPD2 104 321/I2.1.5592 FmPA [/Rect[54 152 558 163]/Border[0 0 0]/Dest/G3.1004731/LNK FmPD2 153 307/I2.1.5594 FmPA [/Rect[54 140 558 151]/Border[0 0 0]/Dest/G3.1005087/LNK FmPD2 153 295/I2.1.5596 FmPA [/Rect[54 128 558 139]/Border[0 0 0]/Dest/G3.1005286/LNK FmPD2 153 283/I2.1.5598 FmPA [/Rect[54 115 558 128]/Border[0 0 0]/Dest/G3.997025/LNK FmPD2 104 271/I2.1.5600 FmPA [/Rect[54 102 558 113]/Border[0 0 0]/Dest/G3.1005328/LNK FmPD2 153 257/I2.1.5602 FmPA [/Rect[54 90 558 101]/Border[0 0 0]/Dest/G3.1005371/LNK FmPD2 153 245/I2.1.5604 FmPA [/Rect[54 77 558 90]/Border[0 0 0]/Dest/G3.1002587/LNK FmPD2 104 233/I2.1.5606 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 SPI) 54 749.33 T 54 72 558 720 R 7 X V 2 F 0 X (3.4.1 URL Support) 153 713.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 232.5 713.33 T (24) 476 713.33 T 54 857/G2.5609 FmPA (3.4.2 New Method Support) 153 701.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 265 701.33 T (24) 476 701.33 T 54 845/G2.5611 FmPA (3.4.3 Constructors) 153 689.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 230 689.33 T (24) 476 689.33 T 54 833/G2.5613 FmPA 2 12 Q (4 Customizing A Context Implementation) 54 666 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 264 666 T (26) 474 666 T 54 810/G2.5615 FmPA (4.1 Reading Objects: Object Factories) 104.4 649 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294 649 T (26) 474 649 T 54 793/G2.5617 FmPA 2 10 Q (4.1.1 Handling Structured References) 153 636.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 307.5 636.33 T (27) 476 636.33 T 54 780/G2.5619 FmPA (4.1.2 Handling URL References) 153 624.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 285 624.33 T (28) 476 624.33 T 54 768/G2.5621 FmPA (4.1.3 Handling Arbitrary References: The java.naming.factory.object Property) 153 612.33 T (.) 470 612.33 T (29) 476 612.33 T 54 756/G2.5623 FmPA (4.1.4 Overriding the Default Behavior) 153 600.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 310 600.33 T (30) 476 600.33 T 54 744/G2.5625 FmPA (4.1.5 Context Factory) 153 588.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 245 588.33 T (30) 476 588.33 T 54 732/G2.5627 FmPA (4.1.6 URL Context Factory) 153 576.33 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 267.5 576.33 T (31) 476 576.33 T 54 720/G2.5629 FmPA 2 12 Q (4.2 Storing Objects: State Factories) 104.4 563 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 282 563 T (31) 474 563 T 54 707/G2.5631 FmPA 2 10 Q (4.2.1 Input/Output Options) 153 550.33 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 265 550.33 T (32) 476 550.33 T 54 694/G2.5633 FmPA (4.2.2 Locating State Factories: The java.naming.factory.state Property) 153 538.33 T ( . . . . . . .) 437.5 538.33 T (32) 476 538.33 T 54 682/G2.5635 FmPA 2 12 Q (4.3 Narrowing LDAP v3 Controls: Response Control Factories) 104.4 525 T (. . . . . . . . . .) 414 525 T (33) 474 525 T 54 669/G2.5637 FmPA 2 10 Q (4.3.1) 153 512.33 T (Locating) 175.08 512.33 T (Response) 211.67 512.33 T (Control) 251.04 512.33 T (Factories:) 282.64 512.33 T (The) 323.12 512.33 T (java.naming.factory.control) 339.71 512.33 T (Property) 451.56 512.33 T 54 656/G2.5639 FmPA (34) 171 500.33 T 2 12 Q (4.4 Ownership of Parameters) 104.4 487 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252 487 T (35) 474 487 T 54 631/G2.5641 FmPA (4.5 Reentrancy) 104.4 473 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 186 473 T (35) 474 473 T 54 617/G2.5643 FmPA ( Appendix A:) 54 449 T ( Service Provider Example) 119.33 449 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 449 T (37) 474 449 T 54 593/G2.5645 FmPA ( Appendix B:) 54 425 T ( Legend for Class Diagram) 118.67 425 T (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 252 425 T (47) 474 425 T 54 569/G2.5647 FmPA ( Appendix C:) 54 401 T ( JNDI Change History) 118.67 401 T ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 231 401 T (49) 474 401 T 54 545/G2.5649 FmPA 54 528/G2.5655 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.iv/DEST FmPD2 [/Dest/L2/DEST FmPD2 [/Rect[54 77 558 90]/Border[0 0 0]/Dest/G3.1002587/LNK FmPD2 [/Rect[54 709 558 720]/Border[0 0 0]/Dest/G3.1005441/LNK FmPD2 153 864/I2.1.5608 FmPA [/Rect[54 697 558 708]/Border[0 0 0]/Dest/G3.1005470/LNK FmPD2 153 852/I2.1.5610 FmPA [/Rect[54 685 558 696]/Border[0 0 0]/Dest/G3.1005483/LNK FmPD2 153 840/I2.1.5612 FmPA [/Rect[54 662 268 675]/Border[0 0 0]/Dest/G3.997589/LNK FmPD2 54 818/I2.1.5614 FmPA [/Rect[54 645 558 658]/Border[0 0 0]/Dest/G3.1007760/LNK FmPD2 104 801/I2.1.5616 FmPA [/Rect[54 632 558 643]/Border[0 0 0]/Dest/G3.1006206/LNK FmPD2 153 787/I2.1.5618 FmPA [/Rect[54 620 558 631]/Border[0 0 0]/Dest/G3.1006384/LNK FmPD2 153 775/I2.1.5620 FmPA [/Rect[54 608 558 619]/Border[0 0 0]/Dest/G3.1006269/LNK FmPD2 153 763/I2.1.5622 FmPA [/Rect[54 596 558 607]/Border[0 0 0]/Dest/G3.1006464/LNK FmPD2 153 751/I2.1.5624 FmPA [/Rect[54 584 558 595]/Border[0 0 0]/Dest/G3.1000829/LNK FmPD2 153 739/I2.1.5626 FmPA [/Rect[54 572 558 583]/Border[0 0 0]/Dest/G3.1000794/LNK FmPD2 153 727/I2.1.5628 FmPA [/Rect[54 559 558 572]/Border[0 0 0]/Dest/G3.1005973/LNK FmPD2 104 715/I2.1.5630 FmPA [/Rect[54 546 558 557]/Border[0 0 0]/Dest/G3.1006733/LNK FmPD2 153 701/I2.1.5632 FmPA [/Rect[54 534 558 545]/Border[0 0 0]/Dest/G3.1006881/LNK FmPD2 153 689/I2.1.5634 FmPA [/Rect[54 521 558 534]/Border[0 0 0]/Dest/G3.1006735/LNK FmPD2 104 677/I2.1.5636 FmPA [/Rect[54 496 558 519]/Border[0 0 0]/Dest/G3.1006932/LNK FmPD2 153 663/I2.1.5638 FmPA [/Rect[54 483 558 496]/Border[0 0 0]/Dest/G3.1007937/LNK FmPD2 104 639/I2.1.5640 FmPA [/Rect[54 469 558 482]/Border[0 0 0]/Dest/G3.1007939/LNK FmPD2 104 625/I2.1.5642 FmPA [/Rect[54 445 119 458]/Border[0 0 0]/Dest/G4.1000406/LNK FmPD2 54 601/I2.1.5644 FmPA [/Rect[54 421 118 434]/Border[0 0 0]/Dest/G5.150244/LNK FmPD2 54 577/I2.1.5646 FmPA [/Rect[54 397 118 410]/Border[0 0 0]/Dest/G6.150244/LNK FmPD2 54 553/I2.1.5648 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 SPI) 54 749.33 T (Introduction) 508 749.33 T 54 893/G3.996781 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.996788 FmPA 72 180/G3.996791 FmPA 72 180/G3.996794 FmPA 72 180/G3.996797 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.996852 FmPA 2 12 Q (The) 108 680 T (JNDI) 129.81 680 T (SPI) 158.95 680 T (provides) 179.44 680 T (the) 223.92 680 T (means) 241.73 680 T (by) 275.54 680 T (which) 290.69 680 T (developers) 323.17 680 T (can) 378.31 680 T (write) 398.11 680 T (different) 425.92 680 T (naming) 470.39 680 T (and) 509.54 680 T (direc-) 530.02 680 T 54 824/G3.996931 FmPA (tory) 108 666 T 0 F (service) 130.16 666 T (providers) 166.97 666 T 2 F (and) 215.8 666 T (make) 235.96 666 T (them) 264.78 666 T (available) 291.61 666 T (so) 337.76 666 T (that) 351.25 666 T (the) 372.08 666 T (corresponding) 389.58 666 T (services) 461.06 666 T (are) 502.54 666 T (accessi-) 520.02 666 T (ble) 108 652 T (from) 124.96 652 T (applications) 150.59 652 T (that) 210.88 652 T (use) 231.18 652 T (the) 249.48 652 T (JNDI) 266.44 652 T (API.) 294.73 652 T (A) 319.36 652 T (service) 330.32 652 T (provider) 366.6 652 T (is) 409.56 652 T (a) 419.86 652 T (set) 427.49 652 T (of) 443.12 652 T (modules) 455.41 652 T (that) 498.38 652 T (together) 518.67 652 T (satisfy) 108 638 T (JNDI) 142.18 638 T (API) 171.02 638 T (requests.) 193.2 638 T (In) 238.38 638 T (addition,) 251.22 638 T (because) 296.4 638 T (JNDI) 337.23 638 T (allows) 366.07 638 T (the) 400.26 638 T (use) 417.77 638 T (of) 436.61 638 T (names) 449.46 638 T (that) 482.97 638 T (span) 503.82 638 T (multi-) 528.66 638 T (ple) 108 624 T (namespaces,) 125.62 624 T (one) 188.89 624 T (service) 209.17 624 T (provider) 246.11 624 T (implementation) 289.72 624 T (may) 368.01 624 T (need) 391.63 624 T (to) 417.24 624 T (interact) 429.54 624 T (with) 468.48 624 T (another) 492.77 624 T (in) 531.72 624 T (or-) 544.01 624 T (der) 108 610 T (to) 129.75 610 T (complete) 145.5 610 T (an) 195.92 610 T (operation.) 213.67 610 T (The) 268.41 610 T (SPI) 293.5 610 T (provides) 317.26 610 T (methods) 365.01 610 T (that) 412.1 610 T (allow) 436.52 610 T (different) 469.61 610 T (provider) 517.34 610 T (implementations to cooperate to complete client JNDI operations.) 108 596 T (This) 108 576 T (document) 131.67 576 T (describes) 181.34 576 T (the) 228.33 576 T (components) 245.33 576 T (of) 305.67 576 T (the) 318 576 T (SPI) 335 576 T (and) 354.68 576 T (explains) 374.35 576 T (how) 416.68 576 T (developers) 439.68 576 T (can) 494.01 576 T (build) 513 576 T (ser-) 540.01 576 T 54 720/G3.998977 FmPA (vice) 108 562 T (providers) 130.8 562 T (for) 178.93 562 T (JNDI.) 195.73 562 T (It) 227.54 562 T (is) 237.68 562 T (assumed) 248.49 562 T (that) 292.62 562 T (the) 313.43 562 T (reader) 330.91 562 T (is) 363.69 562 T (familiar) 374.5 562 T (with) 415.3 562 T (the) 439.45 562 T (contents) 456.92 562 T (of) 499.73 562 T (the) 512.53 562 T 3 F (JNDI) 530 562 T (API) 108 548 T 2 F ( document.) 128.66 548 T (All) 108 528 T (service) 125.95 528 T (provider) 162.56 528 T (developers) 205.83 528 T (should) 260.43 528 T (read) 295.05 528 T (the) 318.32 528 T (\322Security) 335.61 528 T (Considerations\323) 383.55 528 T (section) 463.49 528 T (of) 500.11 528 T (the) 512.72 528 T 3 F (JNDI) 530 528 T 54 672/G3.1002116 FmPA (API) 108 514 T 2 F (document.) 132.5 514 T (It) 186.67 514 T (contains) 197.84 514 T (important) 241.67 514 T (issues) 292.17 514 T (that) 324.68 514 T (all) 346.52 514 T (developers) 362.35 514 T (using) 418.17 514 T (JNDI,) 448.01 514 T (especially) 480.84 514 T (those) 532.67 514 T (writing service providers, should consider.) 108 500 T 3 14 Q (1.1) 72.5 472.67 T (Document Overview) 108 472.67 T 54 617/G3.1002621 FmPA 2 12 Q (There) 108 452 T (are) 139.21 452 T (several) 157.08 452 T (types) 194.28 452 T (of) 222.84 452 T (implementations) 236.05 452 T (that) 319.28 452 T (sit) 340.5 452 T (beneath) 355.06 452 T (the) 395.6 452 T (JNDI) 413.49 452 T (API.) 442.7 452 T (A) 468.25 452 T (service) 480.14 452 T (provider) 517.34 452 T 54 596/G3.1002623 FmPA (contains) 108 438 T (at) 151.79 438 T (a) 164.24 438 T (minimum) 173.36 438 T (a) 223.83 438 T (c) 232.95 438 T 0 F (ontext) 238.27 438 T (implementation) 271.39 438 T 2 F (.) 346.05 438 T (A) 352.85 438 T (context) 365.3 438 T (implementation) 404.42 438 T (implements) 483.54 438 T (the) 543.34 438 T 4 10 Q (Context) 108 424 T 2 12 Q (interface) 153.42 424 T (or) 198.82 424 T (any) 212.24 424 T (of) 232.99 424 T (its) 246.41 424 T (subinterfaces,) 261.17 424 T (such) 330.9 424 T (as) 356.32 424 T 4 10 Q (DirContext) 369.74 424 T 2 12 Q (,) 429.74 424 T 4 10 Q (EventContext) 436.16 424 T 2 12 Q (,) 508.16 424 T (or) 514.58 424 T 4 10 Q (Ldap-) 528 424 T (Context) 108 410 T 2 12 Q (.) 150 410 T (The) 156.59 410 T (complexity) 178.83 410 T (of) 236.42 410 T (the) 250 410 T (implementation) 268.25 410 T (depends) 347.17 410 T (primarily) 390.08 410 T (on) 438.33 410 T (the) 453.92 410 T (complexity) 472.17 410 T (of) 529.75 410 T (the) 543.34 410 T (underlying) 108 396 T (service,) 163.59 396 T (and) 204.16 396 T (secondarily) 225.08 396 T (on) 283.99 396 T (the) 299.58 396 T (number) 317.83 396 T (of) 358.08 396 T (JNDI) 371.67 396 T (features) 401.25 396 T (that) 442.82 396 T (the) 464.41 396 T (implementation) 482.66 396 T (supports. Chapter 2 describes the details of building a context implementation.) 108 382 T (A) 108 362 T (context) 119.76 362 T (implementation) 158.18 362 T (can) 236.61 362 T (be) 256.36 362 T (accessed) 270.78 362 T (in) 315.85 362 T (different) 328.29 362 T (ways.) 372.7 362 T (The) 403.45 362 T (most) 425.2 362 T (common) 451.64 362 T (way) 496.73 362 T (is) 519.82 362 T (to) 530.92 362 T (ac-) 543.35 362 T 54 506/G3.1002624 FmPA (cess) 108 348 T (it) 130.46 348 T (from) 139.6 348 T (the) 165.4 348 T (initial) 182.54 348 T (context.) 213.02 348 T (Chapter) 253.81 348 T (3) 294.28 348 T (describes) 302.75 348 T (two) 349.87 348 T (ways) 370.34 348 T (that) 397.47 348 T (a) 417.94 348 T (context) 425.74 348 T (implementation) 463.54 348 T (can) 541.34 348 T (be accessed from the initial context: via an initial context factory and a URL context factory.) 108 334 T (The) 108 314 T (JNDI) 130.24 314 T (architecture) 159.82 314 T (defines) 220.04 314 T (components/implementations) 258.28 314 T (that) 403.2 314 T (can) 424.78 314 T (be) 445.02 314 T (used) 459.93 314 T (to) 485.51 314 T (augment) 498.42 314 T (the) 543.34 314 T 54 458/G3.1002645 FmPA (behavior) 108 300 T (of) 153.13 300 T (context) 166.27 300 T (implementations.) 204.74 300 T (This) 290.88 300 T (allows) 315.36 300 T (users) 349.84 300 T (and) 377.64 300 T (applications) 398.11 300 T (to) 459.25 300 T (customize) 471.72 300 T (the) 523.53 300 T (im-) 541.33 300 T (plementation.) 108 286 T (These) 176.7 286 T (components) 208.39 286 T (are) 269.43 286 T (supported) 287.12 286 T (through) 337.48 286 T 0 F (factories) 377.85 286 T 2 F (.) 419.85 286 T (JNDI) 425.89 286 T (defines) 454.92 286 T (three) 492.61 286 T (types) 519.64 286 T (of) 548 286 T (factories) 108 272 T (and) 153.25 272 T (provides) 174.51 272 T (SPI) 219.78 272 T (methods) 241.05 272 T (that) 285.66 272 T (make) 307.59 272 T (use) 337.52 272 T (of) 357.45 272 T (them.) 371.38 272 T (These) 402.32 272 T (factories) 434.91 272 T (are) 480.16 272 T (described) 498.74 272 T (in) 548.66 272 T (Chapter 4.) 108 258 T (\245) 115 238 T 0 F (Object) 126 238 T (factories) 161.26 238 T 2 F (\321For) 203.26 238 T (transforming) 235.19 238 T (data) 300.45 238 T (stored) 323.7 238 T (in) 356.3 238 T (naming/directory) 368.9 238 T (services) 454.82 238 T (into) 496.74 238 T (Java) 518.68 238 T 54 382/G3.1002665 FmPA (types more natural to the Java application.) 126 224 T (\245) 115 204 T 0 F (State) 126 204 T (factories) 154.55 204 T 2 F (\321For) 196.55 204 T (transforming) 229.77 204 T (objects) 296.31 204 T (of) 334.85 204 T (Java) 349.4 204 T (types) 375.27 204 T (natural) 405.15 204 T (to) 443.02 204 T (the) 456.91 204 T (program) 476.12 204 T (into) 521.33 204 T 54 348/G3.1002666 FmPA (formats suitable for storage into naming/directory services.) 126 190 T (\245) 115 170 T 0 F (Response) 126 170 T (control) 174.22 170 T (factories) 211.78 170 T 2 F (\321For) 253.78 170 T (narrowing) 285.35 170 T (LDAP) 337.56 170 T (v3) 371.79 170 T (response) 386.69 170 T (controls) 431.57 170 T (received) 473.13 170 T (from) 516.67 170 T 54 314/G3.1002667 FmPA (LDAP servers into more user-friendly types.) 126 156 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.1/DEST FmPD2 [/Dest/F3/DEST FmPD2 108 864/M3.9.10051.chapter.1.Introduction FmPA 108 864/I3.1.1002627 FmPA [/Rect[158 378 207 391]/Border[0 0 0]/Page 8/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/Rect[54 254 157 267]/Border[0 0 0]/Page 30/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Introduction) 508 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 14 Q 0 X (1.2) 72.5 706.93 T (Interface) 108 706.93 T 3 11.2 Q (1) 162.42 712.53 T 3 14 Q ( Overview) 168.02 706.93 T 54 851/G3.1007434 FmPA 2 12 Q (The) 108 686.27 T (JNDI) 129.19 686.27 T (SPI) 157.72 686.27 T (is) 177.59 686.27 T (contained) 188.12 686.27 T (in) 237.31 686.27 T (the) 249.18 686.27 T (package) 266.38 686.27 T 4 10 Q (javax.naming.spi) 308.22 686.27 T 2 12 Q (.) 404.22 686.27 T (The) 409.75 686.27 T (following) 430.94 686.27 T (sections) 480.14 686.27 T (provide) 521.34 686.27 T 54 830/G3.1007435 FmPA (an overview of the SPI. For more details on the SPI, see the corresponding) 108 672.27 T 3 F (javadoc) 469.28 672.27 T 2 F (.) 509.28 672.27 T 54 798/G3.1007440 FmPA 3 F (1.2.1) 66 449 T (NamingManager and DirectoryManager) 108 449 T 54 593/G3.1007441 FmPA 2 F (The) 108 429 T 4 10 Q (NamingManager) 130.78 429 T 2 12 Q (class) 212.9 429 T (contains) 240.34 429 T (static) 284.46 429 T (methods) 313.91 429 T (that) 358.7 429 T (perform) 380.82 429 T (provider-related) 423.58 429 T (operations.) 505.01 429 T 54 573/G3.1007442 FmPA (For) 108 415 T (example,) 127.72 415 T (it) 174.43 415 T (contains) 184.15 415 T (methods) 227.19 415 T (to) 270.91 415 T (create) 283.3 415 T (instances) 314.99 415 T (of) 362.04 415 T (objects) 375.08 415 T (using) 412.13 415 T 4 10 Q (Reference) 441.18 415 T 2 12 Q (,) 495.18 415 T (to) 501.23 415 T (obtain) 513.62 415 T (an) 546.67 415 T (instance) 108 401 T (of) 150.63 401 T (the) 163.93 401 T (initial) 181.9 401 T (context) 213.21 401 T (using) 251.85 401 T (the) 281.16 401 T 4 10 Q (java.naming.factory.initial) 299.13 401 T 2 12 Q (property,) 464.43 401 T (and) 511.39 401 T (to) 532.03 401 T (in-) 544.67 401 T (stall) 108 387 T 4 10 Q (ObjectFactoryBuilder) 133.01 387 T 2 12 Q (and) 258.01 387 T 4 10 Q (InitialContextFactoryBuilder) 280.34 387 T 2 12 Q (.) 448.34 387 T (The) 456.34 387 T 4 10 Q (DirectoryMan-) 480 387 T (ager) 108 373 T 2 12 Q ( class provides similar static methods for) 132 373 T 4 10 Q (DirContext) 330.98 373 T 2 12 Q ( related operations.) 390.98 373 T 3 F (1.2.2) 66 350 T (Initial Contexts) 108 350 T 54 494/G3.1007443 FmPA 4 10 Q (InitialContextFactory) 108 330 T 2 12 Q (is) 237.31 330 T (the) 248.62 330 T (interface) 266.59 330 T (for) 311.88 330 T (creating) 329.18 330 T (an) 371.14 330 T (initial) 385.78 330 T (context) 417.09 330 T (instance.) 455.73 330 T (See) 501.36 330 T (Section) 522 330 T 54 474/G3.1007446 FmPA (3.1 for more details.) 108 316 T 4 10 Q (InitialContextFactoryBuilder) 108 296 T 2 12 Q (is) 279.63 296 T (the) 291.26 296 T (interface) 309.55 296 T (for) 355.15 296 T (creating) 372.76 296 T 4 10 Q (InitialContextFactory) 415.04 296 T 2 12 Q (in-) 544.67 296 T 54 440/G3.1007448 FmPA (stances. See Section 3.3 for more details.) 108 282 T 3 F (1.2.3) 66 259 T (Object Factories) 108 259 T 54 403/G3.1007452 FmPA 4 10 Q (ObjectFactory) 108 239 T 2 12 Q (is) 189.17 239 T (the) 200.35 239 T (interface) 218.18 239 T (for) 263.33 239 T (supporting) 280.49 239 T (creation) 335 239 T (of) 376.82 239 T (objects) 389.99 239 T (using) 427.15 239 T (information) 456.33 239 T (stored) 516.16 239 T (in) 548.66 239 T 54 383/G3.1007453 FmPA (the) 108 225 T (namespace.) 125.14 225 T 4 10 Q (DirObjectFactory) 183.26 225 T 2 12 Q (is) 281.74 225 T (a) 292.22 225 T (subinterface) 300.03 225 T (of) 361.15 225 T 4 10 Q (ObjectFactory) 373.63 225 T 2 12 Q (for) 454.1 225 T (use) 470.57 225 T (by) 489.05 225 T (context) 503.53 225 T (im-) 541.33 225 T (plementations that implement the) 108 211 T 4 10 Q (DirContext) 271.33 211 T 2 12 Q ( interface. See Section 4.1 for more details.) 331.33 211 T 4 10 Q (ObjectFactoryBuilder) 108 191 T 2 12 Q (is) 232.34 191 T (the) 244.68 191 T (interface) 263.69 191 T (for) 310.01 191 T (creating) 328.34 191 T (object) 371.33 191 T (factories.) 405 191 T (See) 453.66 191 T (Section) 475.33 191 T (4.1.4) 515.67 191 T (for) 544.01 191 T 54 335/G3.1007460 FmPA (more details.) 108 177 T 3 F (1.2.4) 66 154 T (State Factories) 108 154 T 54 298/G3.1007461 FmPA 4 10 Q (StateFactory) 108 134 T 2 12 Q (is) 182.67 134 T (the) 193.35 134 T (interface) 210.68 134 T (for) 255.33 134 T (supporting) 271.99 134 T (converting) 326 134 T (objects) 380 134 T (into) 416.67 134 T (storable) 438.01 134 T (formats) 478.67 134 T (support-) 518 134 T 54 278/G3.1007462 FmPA (ed) 108 120 T (by) 122.46 120 T (the) 137.58 120 T (naming/directory) 155.38 120 T (service.) 241.16 120 T 4 10 Q (DirStateFactory) 281.27 120 T 2 12 Q (is) 374.4 120 T (a) 385.53 120 T (subinterface) 393.98 120 T (of) 455.76 120 T 4 10 Q (StateFactory) 468.88 120 T 2 12 Q (for) 544.01 120 T (use) 108 106 T (by) 127.74 106 T (context) 143.48 106 T (implementations) 182.56 106 T (that) 266.3 106 T (implement) 288.05 106 T (the) 343.13 106 T 4 10 Q (DirContext) 361.54 106 T 2 12 Q (interface.) 425.28 106 T 4 10 Q (DirStateFacto-) 474 106 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 B for le) 84 77.33 T (gend of class diagram.) 173.28 77.33 T 54 221/G3.1007433 FmPA 54 72 558 720 C 0 0 0 1 0 0 0 1 K 90 468 558 650.27 C 0 0 0 1 0 0 0 1 K 0 30.24 597.76 453 761.76 422.76 164 117 479.27 FMBEGINEPSF %%BeginDocument: /home/jenball/ws/myjndi/spec/javax.naming.spi-0.eps %!PS-Adobe-3.0 EPSF-3.0 %%DocumentFonts: LucidaSans-Typewriter %%DocumentNeededFonts: LucidaSans-Typewriter %%BoundingBox: 30.24 597.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.2 inch moveto 3.84 inch 10.2 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 (NamingManager) 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 (DirectoryManager) 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 (ResolveResult) 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.2 inch lineto 0.24 inch 10.2 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 /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 (ObjectFactoryBuilder) 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 (InitialContextFactoryBuilder) 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 (ObjectFactory) 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 (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.879999999999999 inch 1.6 inch 0.16 inch javabox 3.92 inch 9.879999999999999 inch moveto (Resolver) 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 (InitialContextFactory) 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 (StateFactory) 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 (DirStateFactory) 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 (DirObjectFactory) 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.2/DEST FmPD2 [/Rect[521 326 558 339]/Border[0 0 0]/Page 24/View[/XYZ null 108 417 FmDC exch pop null]/LNK FmPD [/Rect[54 312 123 326]/Border[0 0 0]/Page 24/View[/XYZ null 108 417 FmDC exch pop null]/LNK FmPD [/Rect[175 278 230 291]/Border[0 0 0]/Page 27/View[/XYZ null 108 824 FmDC exch pop null]/LNK FmPD [/Rect[413 207 468 220]/Border[0 0 0]/Page 30/View[/XYZ null 220 758 FmDC exch pop null]/LNK FmPD [/Rect[477 187 541 200]/Border[0 0 0]/Page 34/View[/XYZ null 108 765 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Introduction) 508 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 4 F 0 X (ry.Result) 108 712 T 2 12 Q (is) 164.53 712 T (a) 175.06 712 T (class) 182.91 712 T (for) 208.77 712 T (holding) 225.29 712 T (a) 264.48 712 T (pair) 272.34 712 T (of) 293.53 712 T 4 10 Q (java.lang.Object) 306.05 712 T 2 12 Q (and) 404.58 712 T 4 10 Q (Attributes) 424.43 712 T 2 12 Q (that) 486.96 712 T (is) 507.48 712 T (returned) 518.02 712 T (by) 108 698 T 4 10 Q (DirStateFactory.getStateToBind\050\051) 123 698 T 2 12 Q (. See Section 4.2 for more details.) 315 698 T 3 F (1.2.5) 66 675 T (Federation Support) 108 675 T 54 819/G3.1007466 FmPA 2 F (The) 108 655 T 4 10 Q (Resolver) 129.76 655 T 2 12 Q (interface) 180.86 655 T (defines) 225.94 655 T (a) 263.69 655 T (method) 272.12 655 T (for) 311.22 655 T (providers) 328.31 655 T (to) 376.74 655 T (implement) 389.17 655 T (that) 443.61 655 T (allows) 464.71 655 T (them) 499.14 655 T (to) 526.24 655 T (par-) 538.68 655 T 54 799/G3.1007467 FmPA (ticipate) 108 641 T (in) 145.75 641 T (a) 157.51 641 T (federation) 165.26 641 T (for) 216.33 641 T (supporting) 232.75 641 T (extended) 286.51 641 T (interfaces) 332.25 641 T (to) 381.32 641 T 4 10 Q (Context) 393.08 641 T 2 12 Q (.) 435.08 641 T (See) 440.5 641 T (\322Resolving) 460.25 641 T (Through) 516.67 641 T (to Subinterfaces of Context\323 on page) 108 627 T (10 for more details.) 288.64 627 T 4 10 Q (ResolveResult) 108 607 T 2 12 Q (is) 189.7 607 T (the) 201.41 607 T (return) 219.78 607 T (value) 252.14 607 T (of) 281.83 607 T (calling) 295.53 607 T 4 10 Q (Resolver.resolveToClass\050\051) 331.9 607 T 2 12 Q (.) 481.9 607 T (It) 488.6 607 T (contains) 499.64 607 T (the) 543.34 607 T 54 751/G3.1007471 FmPA (object to which resolution succeeded, and the remaining name yet to be resolved.) 108 593 T 54 717/G3.1002622 FmPA 54 697/G3.998978 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.3/DEST FmPD2 [/Rect[343 694 398 707]/Border[0 0 0]/Page 35/View[/XYZ null 108 460 FmDC exch pop null]/LNK FmPD [/Rect[461 637 558 650]/Border[0 0 0]/Page 14/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/Rect[54 623 308 637]/Border[0 0 0]/Page 14/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 (2) 81 708 T (Building a Context Implementation) 108 708 T 54 852/G3.998980 FmPA 2 12 Q (One) 108 680 T (of) 131.68 680 T (the) 145.37 680 T (basic) 163.72 680 T (tasks) 192.07 680 T (in) 219.76 680 T (building) 232.79 680 T (a) 276.48 680 T (service) 285.5 680 T (provider) 323.17 680 T (is) 367.52 680 T (to) 379.21 680 T (define) 392.24 680 T (a) 425.92 680 T (class) 434.93 680 T (that) 461.95 680 T (implements) 483.64 680 T (the) 543.34 680 T 54 824/G3.996974 FmPA 4 10 Q (Context) 108 666 T 2 12 Q (interface) 152.39 666 T (or) 196.75 666 T (any) 209.13 666 T (of) 228.85 666 T (its) 241.23 666 T (subinterfaces.) 254.96 666 T (This) 323.66 666 T (class) 347.38 666 T (is) 373.1 666 T (called) 383.49 666 T (a) 414.53 666 T 0 F (context) 422.24 666 T (implementation) 459.29 666 T 2 F (.) 533.95 666 T (The) 539.34 666 T (following guidelines should be used for developing a context implementation.) 108 652 T 3 14 Q (2.1) 72.5 624.67 T (Ownership of Parameters) 108 624.67 T 54 769/G3.1004470 FmPA 2 12 Q (In) 108 604 T (general,) 121 604 T (any) 162.33 604 T (object) 182.66 604 T (passed) 215 604 T (as) 250 604 T (a) 263 604 T (parameter) 271.33 604 T (to) 322.32 604 T (methods) 334.66 604 T (in) 378.34 604 T (the) 390.68 604 T 4 10 Q (Context) 408.35 604 T 2 12 Q (interface) 453.36 604 T (\050or) 498.34 604 T (subinter-) 515.34 604 T 54 748/G3.1004471 FmPA (faces\051) 108 590 T (and) 141.75 590 T 4 10 Q (NamingManager) 164.18 590 T 2 12 Q (/) 242.18 590 T 4 10 Q (DirectoryManager) 245.51 590 T 2 12 Q (utility) 346.62 590 T (methods) 380.4 590 T (is) 426.17 590 T (owned) 439.28 590 T (by) 476.38 590 T (the) 493.48 590 T (caller.) 513.25 590 T (In) 548 590 T (many) 108 576 T (cases,) 138.86 576 T (the) 171.37 576 T (parameter) 190.23 576 T (eventually) 242.39 576 T (reaches) 296.58 576 T (a) 336.75 576 T (context) 346.27 576 T (implementation.) 385.79 576 T (Because) 468.32 576 T (the) 512.49 576 T (caller) 531.35 576 T (owns) 108 562 T (the) 136.28 562 T (object,) 153.89 562 T (the) 189.16 562 T (context) 206.78 562 T (implementation) 245.05 562 T (is) 323.33 562 T (prohibited) 334.29 562 T (from) 386.56 562 T (modifying) 412.84 562 T (the) 465.79 562 T (object.) 483.4 562 T (Further-) 518.68 562 T (more,) 108 548 T (the) 138.23 548 T (context) 155.45 548 T (implementation) 193.35 548 T (is) 271.25 548 T (allowed) 281.82 548 T (to) 322.37 548 T (maintain) 334.27 548 T (a) 378.84 548 T (pointer) 386.73 548 T (to) 423.29 548 T (the) 435.2 548 T (object) 452.42 548 T (only) 484.32 548 T (for) 508.22 548 T (the) 524.78 548 T (du-) 542 548 T (ration) 108 534 T (of) 142.02 534 T (the) 158.05 534 T (operation) 178.74 534 T (and) 230.09 534 T (not) 253.45 534 T (beyond.) 274.81 534 T (If) 319.17 534 T (a) 333.19 534 T (context) 344.55 534 T (implementation) 385.9 534 T (needs) 467.27 534 T (to) 500.62 534 T (save) 515.98 534 T (the) 543.34 534 T (information) 108 520 T (contained) 167.77 520 T (in) 217.53 520 T (a) 229.98 520 T (parameter) 238.41 520 T (beyond) 289.49 520 T (the) 327.93 520 T (duration) 345.7 520 T (of) 388.8 520 T (the) 401.91 520 T (operation,) 419.68 520 T (it) 471.11 520 T (should) 480.89 520 T (maintain) 516 520 T (its own copy.) 108 506 T (For) 108 486 T (purposes) 127.98 486 T (of) 173.96 486 T (parameter) 187.27 486 T (ownership,) 238.56 486 T (an) 294.87 486 T (operation) 309.51 486 T (on) 358.15 486 T (a) 373.47 486 T (context) 382.11 486 T (instance) 420.75 486 T (is) 463.39 486 T (not) 474.71 486 T (considered) 493.36 486 T (to) 548.66 486 T 54 630/G3.1007867 FmPA (have) 108 472 T (completed) 134.16 472 T (while) 187.66 472 T (any) 217.83 472 T (referrals) 238.67 472 T (generated) 282.15 472 T (by) 332.3 472 T (that) 347.81 472 T (operation) 369.32 472 T (are) 418.15 472 T (still) 436.31 472 T (being) 457.83 472 T (followed,) 488 472 T (or) 537.16 472 T (if) 550.67 472 T (the operation returns a) 108 458 T 4 10 Q (NamingEnumeration) 218.64 458 T 2 12 Q (, while the enumeration is still in use.) 320.64 458 T 3 14 Q (2.2) 72.5 430.67 T (Reentrancy) 108 430.67 T 54 575/G3.1007769 FmPA 2 12 Q (A) 108 410 T (context) 119.57 410 T (instance) 157.8 410 T (need) 200.02 410 T (not) 225.58 410 T (be) 243.82 410 T (reentrant.) 258.05 410 T (Two) 306.6 410 T (threads) 331.5 410 T (that) 369.06 410 T (need) 389.96 410 T (to) 415.52 410 T (access) 427.76 410 T (the) 461.31 410 T (same) 478.88 410 T (context) 506.44 410 T (in-) 544.67 410 T 54 554/G3.1007770 FmPA (stance) 108 396 T (concurrently) 141.53 396 T (should) 205.72 396 T (synchronize) 241.27 396 T (amongst) 302.79 396 T (themselves) 347 396 T (and) 403.87 396 T (provide) 424.74 396 T (the) 464.95 396 T (necessary) 483.15 396 T (lock-) 533.34 396 T (ing.) 108 382 T (However,) 108 362 T (different) 157.46 362 T (context) 201.26 362 T (instances) 239.07 362 T (must) 285.54 362 T (be) 311.37 362 T (safe) 325.18 362 T (for) 346.98 362 T (concurrent) 363.45 362 T (multithreaded) 417.25 362 T (access.) 486.39 362 T (That) 522.52 362 T (is,) 547 362 T 54 506/G3.1007806 FmPA (two) 108 348 T (threads) 129.51 348 T (each) 167.67 348 T (operating) 193.16 348 T (concurrently) 242 348 T (on) 306.15 348 T (their) 321.66 348 T (respective) 347.16 348 T (context) 399.32 348 T (instance) 438.16 348 T (should) 480.99 348 T (not) 516.5 348 T (need) 535.34 348 T (to) 108 334 T (synchronize) 120.68 334 T (their) 182 334 T (access.) 207.33 334 T (For) 244.32 334 T (example,) 264.33 334 T (even) 311.32 334 T (though) 337.32 334 T (two) 373.99 334 T (contexts) 395.33 334 T (might) 438.67 334 T (share) 470.02 334 T (the) 498.68 334 T (same) 516.68 334 T (re-) 544.68 334 T (sources) 108 320 T (\050such) 147.17 320 T (as) 176.35 320 T (the) 189.53 320 T (same) 207.38 320 T (connection\051,) 235.22 320 T (it) 298.06 320 T (must) 307.92 320 T (be) 334.44 320 T (possible) 348.95 320 T (\050and) 391.48 320 T (safe\051) 415.98 320 T (for) 442.48 320 T (two) 459.66 320 T (separate) 480.85 320 T (threads) 523.34 320 T (to) 108 306 T (operate) 120.05 306 T (on) 158.08 306 T (each) 172.8 306 T (of) 197.5 306 T (those) 210.21 306 T (contexts) 238.26 306 T (without) 280.97 306 T (the) 320.36 306 T (threads) 337.74 306 T (having) 375.11 306 T (to) 410.49 306 T (do) 422.54 306 T (any) 437.26 306 T (explicit) 457.3 306 T (synchroniza-) 496.02 306 T (tion.) 108 292 T (For) 108 272 T (purposes) 128.32 272 T (of) 174.63 272 T (concurrency) 188.27 272 T (control,) 251.22 272 T (an) 291.87 272 T (operation) 306.85 272 T (on) 355.82 272 T (a) 371.47 272 T (context) 380.44 272 T (instance) 419.42 272 T (is) 462.39 272 T (not) 474.05 272 T (considered) 493.03 272 T (to) 548.66 272 T 54 416/G3.1007907 FmPA (have) 108 258 T (completed) 134.16 258 T (while) 187.66 258 T (any) 217.83 258 T (referrals) 238.67 258 T (generated) 282.15 258 T (by) 332.3 258 T (that) 347.81 258 T (operation) 369.32 258 T (are) 418.15 258 T (still) 436.31 258 T (being) 457.83 258 T (followed,) 488 258 T (or) 537.16 258 T (if) 550.67 258 T (the operation returns a) 108 244 T 4 10 Q (NamingEnumeration) 218.64 244 T 2 12 Q (, while the enumeration is still in use.) 320.64 244 T 3 14 Q (2.3) 72.5 216.67 T (Basic Support\321Implementing the Context Interface\050s\051) 108 216.67 T 54 361/G3.1007828 FmPA 2 12 Q (The) 108 196 T (context) 129.89 196 T (implementation) 168.44 196 T (defines) 247 196 T (implementations) 284.88 196 T (for) 368.11 196 T (each) 385.33 196 T (of) 410.54 196 T (the) 423.76 196 T (methods) 441.65 196 T (in) 485.55 196 T (the) 498.11 196 T 4 10 Q (Context) 516 196 T 54 340/G3.996976 FmPA 2 12 Q (interface or subinterfaces that the implementation supports.) 108 182 T (If a method is not supported, it should throw) 108 162 T 4 10 Q (OperationNotSupportedException) 324.66 162 T 2 12 Q (.) 504.66 162 T 54 306/G3.997775 FmPA (For) 108 142 T (methods) 127.87 142 T (in) 171.73 142 T (the) 184.27 142 T 4 10 Q (Context) 202.13 142 T 2 12 Q (interface) 247.33 142 T (or) 292.5 142 T (subinterfaces) 305.69 142 T (that) 372.2 142 T (accept) 393.4 142 T (a) 427.25 142 T (name) 435.77 142 T (argument) 464.96 142 T (\050either) 513.49 142 T (as) 548 142 T 54 286/G3.998151 FmPA (a) 108 128 T 4 10 Q (String) 116.79 128 T 2 12 Q (or) 156.26 128 T (a) 169.73 128 T 4 10 Q (Name) 178.52 128 T 2 12 Q (\051,) 202.52 128 T (an) 212.99 128 T (empty) 227.78 128 T (name) 261.25 128 T (denotes) 290.71 128 T (the) 330.83 128 T (current) 348.96 128 T (context.) 386.42 128 T (For) 435.15 128 T (example,) 455.28 128 T (if) 502.4 128 T (an) 513.2 128 T (empty) 528 128 T (name) 108 114 T (is) 136.78 114 T (supplied) 147.57 114 T (to) 191.03 114 T 4 10 Q (lookup\050\051) 203.16 114 T 2 12 Q (,) 251.16 114 T (that) 256.95 114 T (means) 277.73 114 T (to) 311.18 114 T (return) 323.31 114 T (a) 354.75 114 T (new) 362.87 114 T (instance) 385.65 114 T (of) 427.76 114 T (the) 440.55 114 T (current) 458 114 T (context.) 494.77 114 T (If) 535.89 114 T (an) 546.67 114 T (empty) 108 100 T (name) 141.16 100 T (is) 170.31 100 T (supplied) 181.47 100 T (to) 225.3 100 T 4 10 Q (list\050\051) 237.8 100 T 2 12 Q (,) 273.8 100 T (that) 279.95 100 T (means) 301.11 100 T (to) 334.93 100 T (enumerate) 347.43 100 T (the) 400.57 100 T (names) 418.39 100 T (in) 452.21 100 T (the) 464.71 100 T (current) 482.53 100 T (context.) 519.67 100 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.4/DEST FmPD2 108 864/M3.9.20200.chapter.2.Building.a.Context.Implementation FmPA 108 864/I3.1.1006199 FmPA [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (If) 108 712 T (an) 119.21 712 T (empty) 133.76 712 T (name) 166.97 712 T (is) 196.18 712 T (supplied) 207.4 712 T (to) 251.29 712 T 4 10 Q (getAttributes\050\051) 263.84 712 T 2 12 Q (,) 353.84 712 T (that) 360.06 712 T (means) 381.28 712 T (to) 415.16 712 T (retrieve) 427.71 712 T (the) 467.58 712 T (attributes) 485.46 712 T (asso-) 533.34 712 T (ciated with this context.) 108 698 T (Appendix) 108 678 T (A) 158.94 678 T (contains) 171.21 678 T (an) 214.82 678 T (example) 229.76 678 T (context) 274.02 678 T (implementation) 312.96 678 T (that) 391.9 678 T (implements) 413.51 678 T (a) 473.13 678 T (flat,) 482.07 678 T (in-memory) 504.67 678 T 54 822/G3.1002973 FmPA (namespace.) 108 664 T 3 14 Q (2.4) 72.5 636.67 T (Object Support) 108 636.67 T 54 781/G3.1002974 FmPA 2 12 Q (JNDI) 108 616 T (encourages) 138.06 616 T (providers) 196.1 616 T (to) 245.49 616 T (supply) 258.89 616 T (implementations) 294.96 616 T (of) 379.03 616 T (the) 393.09 616 T 4 10 Q (Context) 411.82 616 T 2 12 Q (and) 457.89 616 T (its) 479.28 616 T (subinterfaces) 494.69 616 T 54 760/G3.1002975 FmPA (that) 108 602 T (are) 128.54 602 T (natural) 145.73 602 T (and) 181.59 602 T (intuitive) 201.46 602 T (for) 244 602 T (the) 260.53 602 T (Java) 277.74 602 T (application) 301.6 602 T (programmer.) 357.46 602 T (For) 427.4 602 T (example,) 446.6 602 T (when) 492.8 602 T (looking) 521.33 602 T (up) 108 588 T (a) 123.69 588 T (printer) 132.71 588 T (name) 168.39 588 T (in) 198.07 588 T (the) 211.1 588 T (namespace,) 229.46 588 T (it) 288.79 588 T (is) 299.15 588 T (natural) 310.85 588 T (for) 347.86 588 T (the) 365.55 588 T (programmer) 383.9 588 T (to) 446.91 588 T (expect) 459.93 588 T (to) 494.94 588 T (get) 507.97 588 T (back) 526.33 588 T (a) 552.67 588 T (printer object on which to operate.) 108 574 T 4 10 Q (Context ctx = new InitialContext\050\051;) 140.4 555.33 T 54 699/G3.1002867 FmPA (Printer prt = \050Printer\051ctx.lookup\050somePrinterName\051;) 140.4 543.33 T 54 687/G3.1002868 FmPA (prt.print\050someStreamOfData\051;) 140.4 531.33 T 54 675/G3.1002869 FmPA 2 12 Q (Similarly,) 108 512 T (when) 158.81 512 T (storing) 187.93 512 T (an) 224.39 512 T (application\325s) 238.85 512 T (object) 303.98 512 T (into) 336.43 512 T (the) 358.23 512 T (underlying) 376.03 512 T (service,) 431.15 512 T (it) 471.27 512 T (is) 481.07 512 T (most) 492.2 512 T (portable) 518.68 512 T 54 656/G3.1002957 FmPA (and) 108 498 T (convenient) 128.33 498 T (if) 184 498 T (the) 194.33 498 T (application) 212 498 T (does) 268.34 498 T (not) 293.34 498 T (have) 311.68 498 T (to) 337.34 498 T (know) 349.69 498 T (about) 379.36 498 T (the) 409.03 498 T (underlying) 426.7 498 T (data) 481.7 498 T (representa-) 504.7 498 T (tion.) 108 484 T (However,) 108 464 T (what) 157.25 464 T (is) 182.84 464 T (bound) 193.11 464 T (in) 225.38 464 T (the) 236.98 464 T (underlying) 253.91 464 T (directory) 308.18 464 T (or) 353.77 464 T (naming) 366.03 464 T (services) 404.3 464 T (typically) 445.21 464 T (are) 489.48 464 T (not) 506.4 464 T (objects) 524 464 T 54 608/G3.1002958 FmPA (in) 108 450 T (the) 120.49 450 T (Java) 138.3 450 T (programming) 162.77 450 T (language) 231.25 450 T (but) 277.72 450 T (merely) 296.21 450 T (reference) 332.68 450 T (information) 380.46 450 T (which) 440.27 450 T (can) 472.75 450 T (be) 492.56 450 T (used) 507.04 450 T (to) 532.18 450 T (lo-) 544.67 450 T (cate) 108 436 T (or) 129.95 436 T (access) 142.57 436 T (the) 175.85 436 T (actual) 193.15 436 T (object.) 224.43 436 T (This) 259.39 436 T (case) 283.36 436 T (is) 306.64 436 T (quite) 317.27 436 T (common,) 343.9 436 T (especially) 391.53 436 T (for) 442.15 436 T (Java) 458.77 436 T (applications) 482.72 436 T (ac-) 543.35 436 T (cessing) 108 422 T (and) 147.71 422 T (sharing) 169.43 422 T (services) 209.14 422 T (in) 252.18 422 T (an) 265.9 422 T (existing) 281.61 422 T (installed) 324 422 T (base.) 369.06 422 T (The) 397.77 422 T (reference) 420.81 422 T (in) 469.83 422 T (effect) 483.55 422 T (acts) 515.24 422 T (as) 538.29 422 T (a) 552.67 422 T (\322pointer\323) 108 408 T (to) 155.01 408 T (the) 166.71 408 T (real) 183.73 408 T (object.) 204.08 408 T (In) 238.77 408 T (the) 251.12 408 T (printer) 268.15 408 T (example,) 302.5 408 T (what) 348.52 408 T (is) 374.2 408 T (actually) 384.57 408 T (bound) 424.92 408 T (might) 457.28 408 T (be) 487.65 408 T (information) 501.34 408 T (on) 108 394 T (how) 122.94 394 T (to) 146.55 394 T (access) 158.83 394 T (the) 192.42 394 T (printer) 210.03 394 T (\050e.g.,) 244.96 394 T (its) 272.23 394 T (protocol) 286.51 394 T (type,) 329.45 394 T (its) 356.06 394 T (server) 370.34 394 T (address\051.) 402.6 394 T (To) 448.53 394 T (enable) 464.8 394 T (this) 499.07 394 T (easy-to-) 519.35 394 T (use) 108 380 T (model) 127.36 380 T (for) 160.73 380 T (the) 178.09 380 T (application) 196.12 380 T (developer,) 252.81 380 T (the) 306.49 380 T (context) 324.52 380 T (implementation) 363.22 380 T (must) 441.92 380 T (do) 468.62 380 T (the) 483.99 380 T (transforma-) 502.02 380 T (tion) 108 366 T (of) 129.21 366 T (the) 141.74 366 T (data) 158.95 366 T (to/from) 181.48 366 T (the) 220.02 366 T (underlying) 237.22 366 T (service) 291.75 366 T (into) 328.27 366 T (the) 349.48 366 T (appropriate) 366.69 366 T (objects) 423.87 366 T (in) 460.41 366 T (the) 472.28 366 T (Java) 489.48 366 T (program-) 513.35 366 T (ming language.) 108 352 T (There) 108 332 T (are) 139.25 332 T (different) 157.16 332 T (ways) 201.74 332 T (to) 229.67 332 T (achieve) 242.27 332 T (this) 282.18 332 T (goal.) 302.78 332 T (One) 329.71 332 T (context) 352.97 332 T (implementation) 391.56 332 T (might) 470.16 332 T (have) 501.43 332 T (access) 527.35 332 T 54 476/G3.1003245 FmPA (to) 108 318 T (all) 120.44 318 T (the) 135.54 318 T (implementation) 153.3 318 T (classes) 231.74 318 T (of) 268.16 318 T (objects) 281.26 318 T (that) 318.35 318 T (a) 339.45 318 T (directory) 347.88 318 T (can) 394.3 318 T (return;) 414.06 318 T (another) 449.15 318 T (context) 488.24 318 T (imple-) 526.67 318 T (mentation) 108 304 T (might) 158.75 304 T (have) 189.5 304 T (a) 214.91 304 T (special) 222.98 304 T (class) 259.06 304 T (loader) 285.13 304 T (for) 317.87 304 T (locating) 334.61 304 T (implementation) 376.02 304 T (classes) 454.1 304 T (for) 490.18 304 T (its) 506.92 304 T (objects.) 521 304 T (JNDI) 108 290 T (provides) 136.64 290 T (the) 180.62 290 T 4 10 Q (Reference) 197.93 290 T 2 12 Q (class) 254.58 290 T (as) 280.55 290 T (a) 293.2 290 T (standard) 301.17 290 T (way) 344.48 290 T (of) 367.12 290 T (representing) 379.76 290 T (references.) 441.72 290 T (Applications) 496.67 290 T (and) 108 276 T (context) 127.67 276 T (implementations) 165.34 276 T (are) 247.68 276 T (encouraged) 264.68 276 T (to) 322.32 276 T (use) 334 276 T (this) 352.34 276 T (class,) 372.02 276 T (rather) 400.69 276 T (than) 431.01 276 T (invent) 454.02 276 T (separate) 486.36 276 T (mech-) 528.01 276 T (anisms) 108 262 T (on) 143.6 262 T (their) 157.85 262 T (own.) 182.11 262 T (However,) 208.04 262 T (this) 257.27 262 T (does) 276.87 262 T (not) 301.13 262 T (preclude) 318.73 262 T (context) 362.3 262 T (implementations) 399.89 262 T (from) 482.15 262 T (using) 507.74 262 T (their) 536 262 T (own mechanisms for achieving the same goal.) 108 248 T (JNDI) 108 228 T (provides) 136.94 228 T (utilities) 181.21 228 T (for) 220.17 228 T (context) 237.11 228 T (implementations) 275.39 228 T (to) 358.34 228 T (use) 370.62 228 T (when) 389.56 228 T (reading/storing) 418.5 228 T (objects) 494.11 228 T (in) 531.05 228 T (the) 543.34 228 T 54 372/G3.1003239 FmPA (Java) 108 214 T (programming) 132.41 214 T (language) 200.83 214 T (in) 247.24 214 T (a) 259.67 214 T (format-independent) 268.09 214 T (way) 365.83 214 T (to) 388.91 214 T (the) 401.34 214 T (underlying) 419.09 214 T (service.) 474.18 214 T (This) 514.25 214 T (sec-) 538.68 214 T (tion) 108 200 T (describes) 130.43 200 T (these) 178.83 200 T (utilities.) 207.24 200 T (These) 250.01 200 T (utilities) 282.42 200 T (interact) 322.18 200 T (with) 361.92 200 T (components) 387.01 200 T (called) 448.76 200 T 0 F (object) 481.17 200 T 2 F (and) 514.25 200 T 0 F (state) 535.33 200 T (factories) 108 186 T 2 F ( that do the actual transformations. These factories are described in Chapter 4.) 150 186 T 3 F (2.4.1) 66 163 T (Reading an Object) 108 163 T 54 307/G3.1003127 FmPA 2 F (JNDI) 108 143 T (provides) 137.93 143 T (the) 183.2 143 T (following) 201.81 143 T (methods) 252.42 143 T (that) 297.03 143 T (context) 318.97 143 T (implementations) 358.24 143 T (should) 442.18 143 T (use) 478.13 143 T (to) 498.07 143 T (transform) 511.34 143 T 54 287/G3.1003129 FmPA (data read from the underlying service into objects in the Java programming language:) 108 129 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.5/DEST FmPD2 108 790/M3.9.29121.section.23.Object.Support FmPA 108 790/I3.1.1005538 FmPA [/Rect[492 182 541 195]/Border[0 0 0]/Page 30/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 4 F 0 X (Object NamingManager.getObjectInstance\050Object refInfo,) 140.4 713.33 T 54 857/G3.1003065 FmPA (Name name,) 367.2 701.33 T 54 845/G3.1003066 FmPA (Context nameCtx,) 367.2 689.33 T 54 833/G3.1003067 FmPA (Hashtable env\051) 367.2 677.33 T 54 821/G3.1003068 FmPA (throws Exception;) 165.6 665.33 T 54 809/G3.1003142 FmPA (Object DirectoryManager.getObjectInstance\050Object refInfo,) 140.4 653.33 T 54 797/G3.1003136 FmPA (Name name,) 367.2 641.33 T 54 785/G3.1003137 FmPA (Context nameCtx,) 367.2 629.33 T 54 773/G3.1003138 FmPA (Hashtable env,) 367.2 617.33 T 54 761/G3.1003139 FmPA (Attributes attrs\051) 367.2 605.33 T 54 749/G3.1003140 FmPA (throws Exception;) 165.6 593.33 T 54 737/G3.1003141 FmPA (refInfo) 108 574 T 2 12 Q (is) 152.25 574 T (the) 162.51 574 T (data) 179.42 574 T (\050representing) 201.66 574 T (the) 267.22 574 T (object\051) 284.14 574 T (read) 319.71 574 T (from) 342.61 574 T (the) 368.19 574 T (underlying) 385.11 574 T (service.) 439.35 574 T 4 10 Q (name) 478.59 574 T 2 12 Q (is) 504.84 574 T (the) 515.09 574 T (name) 532.01 574 T 54 718/G3.1003069 FmPA (of) 108 560 T (the) 121.53 560 T (object) 139.73 560 T (while) 172.6 560 T 4 10 Q (nameCtx) 202.8 560 T 2 12 Q (is) 248.33 560 T (the) 259.87 560 T (context) 278.07 560 T (in) 316.94 560 T (which) 329.81 560 T (to) 362.67 560 T (resolve) 375.54 560 T 4 10 Q (name) 413.74 560 T 2 12 Q (.) 437.74 560 T (The) 444.27 560 T 4 10 Q (name) 466.47 560 T 2 12 Q (/) 490.47 560 T 4 10 Q (nameCtx) 493.8 560 T 2 12 Q (pair) 539.34 560 T (can) 108 546 T (be) 128.01 546 T (used) 142.7 546 T (to) 168.06 546 T (obtain) 180.75 546 T (more) 214.11 546 T (information) 242.13 546 T (about) 302.15 546 T (the) 332.18 546 T (object) 350.2 546 T (than) 382.89 546 T (is) 406.91 546 T (available) 418.27 546 T (from) 464.95 546 T 4 10 Q (refInfo) 491.64 546 T 2 12 Q (.) 533.64 546 T 4 10 Q (env) 540 546 T 2 12 Q (is) 108 532 T (the) 118.81 532 T (environment) 136.28 532 T (of) 199.75 532 T (the) 212.56 532 T (context) 230.03 532 T (from) 268.16 532 T (which) 294.3 532 T 4 10 Q (getObjectInstance\050\051) 326.44 532 T 2 12 Q (is) 443.24 532 T (being) 454.06 532 T (invoked.) 483.53 532 T 4 10 Q (attrs) 528 532 T 2 12 Q (is) 108 518 T (the) 119.32 518 T (collection) 137.3 518 T (of) 187.95 518 T (attributes) 201.26 518 T (read) 249.24 518 T (from) 273.21 518 T (the) 299.86 518 T (directory) 317.84 518 T (about) 364.48 518 T (the) 394.46 518 T (object,) 412.44 518 T (usually) 448.08 518 T (in) 486.07 518 T (the) 498.72 518 T (same) 516.7 518 T (re-) 544.68 518 T (quest) 108 504 T (that) 135.98 504 T (was) 156.63 504 T (used) 177.94 504 T (to) 202.59 504 T (get) 214.57 504 T 4 10 Q (refInfo) 231.88 504 T 2 12 Q (.) 273.88 504 T (It) 279.53 504 T (might) 289.51 504 T (not) 320.17 504 T (be) 338.16 504 T (the) 352.13 504 T (complete) 369.45 504 T (collection) 416.09 504 T (of) 466.06 504 T (attributes) 478.71 504 T (if) 526.02 504 T (such) 536 504 T (was not requested.) 108 490 T (The) 108 470 T (method) 129.94 470 T (in) 169.23 470 T (the) 181.85 470 T 4 10 Q (NamingManager) 199.79 470 T 2 12 Q (class) 281.08 470 T (should) 307.69 470 T (be) 342.98 470 T (used) 357.59 470 T (by) 382.87 470 T (context) 398.15 470 T (implementations) 436.76 470 T (that) 520.05 470 T (im-) 541.33 470 T 54 614/G3.1003157 FmPA (plement) 108 456 T (the) 150.47 456 T 4 10 Q (Context) 168.95 456 T 2 12 Q (interface,) 214.76 456 T (while) 263.54 456 T (the) 294.01 456 T (method) 312.49 456 T (in) 352.3 456 T (the) 365.44 456 T 4 10 Q (DirectoryManager) 383.91 456 T 2 12 Q (class) 483.72 456 T (should) 510.86 456 T (be) 546.67 456 T (used by context implementations that implement the) 108 442 T 4 10 Q (DirContext) 362.33 442 T 2 12 Q ( interface.) 422.33 442 T (When) 108 422 T (constructing) 139.8 422 T (objects) 202.27 422 T (to) 239.41 422 T (be) 251.89 422 T (returned) 266.36 422 T (for) 309.49 422 T (the) 326.63 422 T (following) 344.44 422 T (methods,) 394.25 422 T (the) 441.06 422 T (context) 458.87 422 T (implementa-) 497.34 422 T 54 566/G3.1003147 FmPA (tion) 108 408 T (should) 129.31 408 T (call) 163.96 408 T 4 10 Q (getObjectInstance\050\051) 183.93 408 T 2 12 Q (,) 297.93 408 T (or) 303.57 408 T (its) 316.21 408 T (own) 330.19 408 T (mechanism) 353.5 408 T (for) 410.8 408 T (generating) 427.43 408 T (objects) 480.73 408 T (from) 517.37 408 T (the) 543.34 408 T (bound) 108 394 T (information,) 140.67 394 T (if) 203 394 T (it) 213.01 394 T (wants) 222.35 394 T (this) 253.01 394 T (feature) 273.02 394 T (to) 309 394 T (be) 321.01 394 T (enabled) 335.01 394 T (in) 375 394 T (their) 387 394 T (contexts.) 411.67 394 T (\050String) 457.33 394 T (overloads) 493.34 394 T (not) 542.66 394 T (shown.\051) 108 380 T 4 10 Q (javax.naming.Context.lookup\050Name name\051) 140.4 361.33 T 54 505/G3.1003148 FmPA (javax.naming.Context.lookupLink\050Name name\051) 140.4 349.33 T 54 493/G3.1003149 FmPA (javax.naming.Binding.getObject\050\051) 140.4 337.33 T 54 481/G3.1003150 FmPA (javax.naming.directory.SearchResult.getObject\050\051) 140.4 325.33 T 54 469/G3.1003151 FmPA 2 12 Q (For) 108 306 T 4 10 Q (Binding) 127.59 306 T 2 12 Q (and) 172.51 306 T 4 10 Q (SearchResult) 192.75 306 T 2 12 Q (,) 264.75 306 T (the) 270.67 306 T (context) 288.26 306 T (implementation) 326.5 306 T (should) 404.76 306 T (either) 439.68 306 T (pass) 469.92 306 T (an) 493.51 306 T (object) 507.75 306 T (that) 540 306 T 54 450/G3.1003152 FmPA (is) 108 292 T (the) 119.21 292 T (result) 137.09 292 T (of) 166.96 292 T (calling) 180.16 292 T 4 10 Q (getObjectInstance\050\051) 216.04 292 T 2 12 Q (or) 333.24 292 T (its) 346.45 292 T (equivalent) 361 292 T (to) 414.2 292 T (the) 426.74 292 T (constructor,) 444.61 292 T (or) 504.81 292 T (override) 518.02 292 T (the) 108 278 T (default) 126.06 278 T (implementation) 162.78 278 T (of) 241.51 278 T 4 10 Q (Binding) 254.9 278 T 2 12 Q (and) 300.3 278 T 4 10 Q (SearchResult) 321.02 278 T 2 12 Q (so) 396.42 278 T (that) 410.48 278 T (their) 431.88 278 T 4 10 Q (getObject\050\051) 457.27 278 T 2 12 Q (imple-) 526.67 278 T (mentations call) 108 264 T 4 10 Q (getObjectInstance\050\051) 184 264 T 2 12 Q ( or its equivalent before returning.) 298 264 T (Here) 108 244 T (is) 134.3 244 T (an) 145.28 244 T (example.) 159.59 244 T (Suppose) 206.23 244 T (printers) 249.88 244 T (are) 289.52 244 T (represented) 307.15 244 T (in) 365.44 244 T (the) 377.76 244 T (namespace) 395.41 244 T (using) 451.03 244 T 4 10 Q (Reference) 480.02 244 T 2 12 Q (s.) 534.02 244 T (To) 544.67 244 T 54 388/G3.1003143 FmPA (turn) 108 230 T (a) 129.98 230 T (printer) 137.95 230 T 4 10 Q (Reference) 172.59 230 T 2 12 Q (into) 229.23 230 T (a) 250.55 230 T (live) 258.52 230 T 4 10 Q (Printer) 279.17 230 T 2 12 Q (object,) 323.81 230 T (the) 358.79 230 T (context) 376.1 230 T (implementation) 414.07 230 T (would) 492.05 230 T (use) 524.7 230 T (the) 543.34 230 T 4 10 Q (NamingManager.getObjectInstance\050\051) 108 216 T 2 12 Q (method.) 308.67 216 T (In) 350.34 216 T (this) 363.01 216 T (way,) 383.02 216 T (the) 408.68 216 T (underlying) 426.02 216 T (service) 480.68 216 T (need) 517.34 216 T (not) 542.66 216 T (know anything specific about printers.) 108 202 T 4 10 Q (Object lookup\050Name name\051 {) 140.4 183.33 T 54 327/G3.1003070 FmPA (...) 165.6 171.33 T 54 315/G3.1003071 FmPA (Reference) 165.6 159.33 T (ref) 224.9 159.33 T (=) 248.2 159.33 T 4 9 Q (<) 259.5 159.33 T 5 F (some) 264.9 159.33 T (printer) 291.27 159.33 T (reference) 333.85 159.33 T (looked) 387.22 159.33 T (up) 424.39 159.33 T (from) 439.96 159.33 T (naming) 466.33 159.33 T (service) 503.5 159.33 T 4 F (>) 541.3 159.33 T 4 10 Q (;) 546.7 159.33 T 54 303/G3.1003072 FmPA (return NamingManager.getObjectInstance\050ref, name, this, env\051;) 165.6 147.33 T 54 291/G3.1003073 FmPA (}) 140.4 135.33 T 54 279/G3.1003074 FmPA 2 12 Q (In) 108 116 T (another) 122.46 116 T (example,) 162.9 116 T (suppose) 211.02 116 T (printers) 254.15 116 T (are) 295.27 116 T (represented) 314.38 116 T (in) 374.15 116 T (the) 387.94 116 T (directory) 407.07 116 T (as) 454.85 116 T (a) 469.31 116 T (collection) 479.1 116 T (of) 530.88 116 T (at-) 545.34 116 T 54 260/G3.1003174 FmPA (tributes.) 108 102 T (To) 150.29 102 T (turn) 166.91 102 T (a) 189.53 102 T (printer\325s) 198.15 102 T (directory) 242.1 102 T (entry) 288.71 102 T (into) 316.66 102 T (a) 338.62 102 T (live) 347.23 102 T 4 10 Q (Printer) 368.52 102 T 2 12 Q (object,) 413.82 102 T (the) 449.43 102 T (context) 467.39 102 T (implemen-) 506 102 T (tation would use) 108 88 T 4 10 Q (DirectoryManager.getObjectInstance\050\051) 190.33 88 T 2 12 Q (.) 406.33 88 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.6/DEST FmPD2 [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 4 F 0 X (Object lookup\050Name name\051 {) 140.4 713.33 T 54 857/G3.1003188 FmPA (...) 165.6 701.33 T 54 845/G3.1003189 FmPA (Attributes attrs =) 165.6 689.33 T 4 9 Q (<) 279.6 689.33 T 5 F (read attributes from directory) 285 689.33 T 4 F (>;) 447 689.33 T 54 833/G3.1003199 FmPA 4 10 Q (Reference ref =) 165.6 677.33 T 4 9 Q (<) 261.6 677.33 T 5 F (construct reference from attributes) 267 677.33 T 4 F (>) 456 677.33 T 4 10 Q (;) 461.4 677.33 T 54 821/G3.1003190 FmPA (return DirectoryManager.getObjectInstance\050ref, name, this,) 165.6 665.33 T 54 809/G3.1003191 FmPA (env, attrs\051;) 190.8 653.33 T 54 797/G3.1003221 FmPA (}) 140.4 641.33 T 54 785/G3.1003192 FmPA 3 12 Q (2.4.2) 66 619 T (Storing an Object) 108 619 T 54 763/G3.1003128 FmPA 2 F (JNDI) 108 599 T (provides) 136.66 599 T (the) 180.66 599 T (following) 197.99 599 T (methods) 247.33 599 T (that) 290.67 599 T (context) 311.33 599 T (implementations) 349.33 599 T (should) 432 599 T (use) 466.68 599 T (to) 485.34 599 T (transform) 497.35 599 T (an) 546.67 599 T 54 743/G3.1003307 FmPA (object before storing it in the underlying service:) 108 585 T 4 10 Q (Object NamingManager.getStateToBind\050) 140.4 566.33 T 54 710/G3.1003308 FmPA (Object obj,) 367.2 554.33 T 54 698/G3.1003362 FmPA (Name name,) 367.2 542.33 T 54 686/G3.1003309 FmPA (Context nameCtx,) 367.2 530.33 T 54 674/G3.1003310 FmPA (Hashtable env\051) 367.2 518.33 T 54 662/G3.1003311 FmPA (throws NamingException;) 165.6 506.33 T 54 650/G3.1003312 FmPA (DirStateFactory.Result DirectoryManager.getStateToBind\050) 140.4 494.33 T 54 638/G3.1003313 FmPA (Object obj,) 367.2 482.33 T 54 626/G3.1003357 FmPA (Name name,) 367.2 470.33 T 54 614/G3.1003314 FmPA (Context nameCtx,) 367.2 458.33 T 54 602/G3.1003315 FmPA (Hashtable env,) 367.2 446.33 T 54 590/G3.1003316 FmPA (Attributes attrs\051) 367.2 434.33 T 54 578/G3.1003317 FmPA (throws NamingException;) 165.6 422.33 T 54 566/G3.1003318 FmPA (obj) 108 403 T 2 12 Q (is) 129.54 403 T (the) 141.08 403 T (object) 159.29 403 T (to) 192.16 403 T (be) 205.03 403 T (stored) 219.9 403 T (in) 252.77 403 T (the) 265.64 403 T (underlying) 283.85 403 T (service.) 339.38 403 T 4 10 Q (name) 379.91 403 T 2 12 Q (is) 407.45 403 T (the) 418.99 403 T (name) 437.2 403 T (of) 466.73 403 T (the) 480.26 403 T (object) 498.47 403 T (while) 531.34 403 T 54 547/G3.1003319 FmPA 4 10 Q (nameCtx) 108 389 T 2 12 Q (is) 152.77 389 T (the) 163.55 389 T (context) 180.99 389 T (in) 219.09 389 T (which) 231.2 389 T (to) 263.3 389 T (resolve) 275.41 389 T 4 10 Q (name) 312.84 389 T 2 12 Q (.) 336.84 389 T (The) 342.61 389 T 4 10 Q (name) 364.05 389 T 2 12 Q (/) 388.05 389 T 4 10 Q (nameCtx) 391.38 389 T 2 12 Q (pair) 436.16 389 T (can) 457.59 389 T (be) 477.02 389 T (used) 491.12 389 T (to) 515.89 389 T (obtain) 528 389 T (more) 108 375 T (information) 136.37 375 T (about) 196.75 375 T (the) 227.13 375 T (object) 245.51 375 T (than) 278.55 375 T (is) 302.93 375 T (available) 314.65 375 T (from) 361.68 375 T 4 10 Q (obj) 388.73 375 T 2 12 Q (.) 406.73 375 T 4 10 Q (env) 413.44 375 T 2 12 Q (is) 435.15 375 T (the) 446.87 375 T (environment) 465.25 375 T (of) 529.62 375 T (the) 543.34 375 T (context) 108 361 T (from) 146.25 361 T (which) 172.49 361 T 4 10 Q (getStateToBind\050\051) 204.74 361 T 2 12 Q (is) 303.66 361 T (being) 314.58 361 T (invoked.) 344.17 361 T 4 10 Q (attrs) 388.75 361 T 2 12 Q (is) 421.67 361 T (the) 432.59 361 T (collection) 450.17 361 T (of) 500.42 361 T (attributes) 513.34 361 T (that) 108 347 T (is) 128.51 347 T (to) 139.03 347 T (be) 150.88 347 T (bound) 164.72 347 T (with) 197.23 347 T (the) 221.08 347 T (object.) 238.26 347 T 4 10 Q (DirStateFactory.Result) 273.1 347 T 2 12 Q (is) 407.61 347 T (a) 418.13 347 T (class) 425.97 347 T (that) 451.81 347 T (contains) 472.32 347 T (an) 514.83 347 T (object) 528.67 347 T (and a collection of attributes.) 108 333 T (The) 108 313 T (method) 129.94 313 T (in) 169.23 313 T (the) 181.85 313 T 4 10 Q (NamingManager) 199.79 313 T 2 12 Q (class) 281.08 313 T (should) 307.69 313 T (be) 342.98 313 T (used) 357.59 313 T (by) 382.87 313 T (context) 398.15 313 T (implementations) 436.76 313 T (that) 520.05 313 T (im-) 541.33 313 T 54 457/G3.1003320 FmPA (plement) 108 299 T (the) 150.47 299 T 4 10 Q (Context) 168.95 299 T 2 12 Q (interface,) 214.76 299 T (while) 263.54 299 T (the) 294.01 299 T (method) 312.49 299 T (in) 352.3 299 T (the) 365.44 299 T 4 10 Q (DirectoryManager) 383.91 299 T 2 12 Q (class) 483.72 299 T (should) 510.86 299 T (be) 546.67 299 T (used by context implementations that implement the) 108 285 T 4 10 Q (DirContext) 362.33 285 T 2 12 Q ( interface.) 422.33 285 T (Before) 108 265 T (storing) 144.4 265 T (an) 181.49 265 T (object) 196.57 265 T (supplied) 229.66 265 T (by) 274.08 265 T (the) 289.83 265 T (application,) 308.25 265 T (the) 368.33 265 T (context) 386.74 265 T (implementation) 425.83 265 T (should) 504.92 265 T (call) 540.67 265 T 54 409/G3.1003321 FmPA 4 10 Q (getStateToBind\050\051) 108 251 T 2 12 Q (,) 204 251 T (or) 209.87 251 T (its) 222.74 251 T (own) 236.96 251 T (mechanism) 260.5 251 T (for) 318.03 251 T (generating) 334.9 251 T (information) 388.42 251 T (to) 447.96 251 T (be) 460.17 251 T (bound,) 474.38 251 T (if) 510.25 251 T (it) 520.46 251 T (wants) 530 251 T (this feature to be enabled in their contexts. \050String overloads not shown.\051) 108 237 T 4 10 Q (javax.naming.Context.bind\050Name name, Object o\051) 140.4 218.33 T 54 362/G3.1003322 FmPA (javax.naming.Context.rebind\050Name name, Object o\051) 140.4 206.33 T 54 350/G3.1003323 FmPA (javax.naming.DirContext.bind\050Name name, Object o, Attributes attrs\051) 140.4 194.33 T 54 338/G3.1003324 FmPA (javax.naming.DirContext.rebind\050Name name, Object o, Attributes attrs\051) 140.4 182.33 T 54 326/G3.1003325 FmPA 2 12 Q (Here\325s an example of how a) 108 163 T 4 10 Q (Context) 245.95 163 T 2 12 Q ( implementation supports) 287.95 163 T 4 10 Q (Context.bind) 412.96 163 T 2 12 Q (:) 484.96 163 T 54 307/G3.1003327 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.7/DEST FmPD2 [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 4 F 0 X (// First do transformation) 140.4 713.33 T 54 857/G3.1003421 FmPA (obj = NamingManager.getStateToBind\050obj, name, ctx, env\051;) 140.4 701.33 T 54 845/G3.1003422 FmPA 54 833/G3.1003423 FmPA (// Check for Referenceable) 140.4 677.33 T 54 821/G3.1003426 FmPA (if \050obj instanceof Referenceable\051 {) 140.4 665.33 T 54 809/G3.1003427 FmPA ( obj = \050\050Referenceable\051obj\051.getReference\050\051;) 140.4 653.33 T 54 797/G3.1003428 FmPA (}) 140.4 641.33 T 54 785/G3.1003429 FmPA 54 773/G3.1003430 FmPA (if \050obj instanceof Reference\051 {) 140.4 617.33 T 54 761/G3.1003431 FmPA (// store as ref) 165.6 605.33 T 54 749/G3.1003432 FmPA (} else if \050obj instanceof Serializable\051 {) 140.4 593.33 T 54 737/G3.1003433 FmPA (// serialize) 165.6 581.33 T 54 725/G3.1003434 FmPA (} else {) 140.4 569.33 T 54 713/G3.1003435 FmPA (...) 165.6 557.33 T 54 701/G3.1003436 FmPA (}) 140.4 545.33 T 54 689/G3.1003437 FmPA 2 12 Q (Here\325s an example of how a) 108 526 T 4 10 Q (DirContext) 245.95 526 T 2 12 Q ( implementation supports) 305.95 526 T 4 10 Q (DirContext.bind) 430.96 526 T 2 12 Q (:) 520.96 526 T 54 670/G3.1003439 FmPA 4 10 Q (// First do transformation) 140.4 507.33 T 54 651/G3.1003441 FmPA (DirStateFactory.Result res = DirectoryManager.getStateToBind\050) 140.4 495.33 T 54 639/G3.1003442 FmPA (obj, name, ctx, env, inAttrs\051;) 165.6 483.33 T 54 627/G3.1003512 FmPA 54 615/G3.1003444 FmPA (obj = res.getObject\050\051;) 140.4 459.33 T 54 603/G3.1003445 FmPA (Attributes outAttrs = res.getAttributes\050\051;) 140.4 447.33 T 54 591/G3.1003446 FmPA 54 579/G3.1003447 FmPA (// Check for Referenceable) 140.4 423.33 T 54 567/G3.1003450 FmPA (if \050obj instanceof Referenceable\051 {) 140.4 411.33 T 54 555/G3.1003451 FmPA (obj = \050\050Referenceable\051obj\051.getReference\050\051;) 165.6 399.33 T 54 543/G3.1003452 FmPA (}) 140.4 387.33 T 54 531/G3.1003453 FmPA (if \050obj instanceof Reference\051 {) 140.4 375.33 T 54 519/G3.1003455 FmPA (// store as ref and add outAttrs) 165.6 363.33 T 54 507/G3.1003456 FmPA (} else if \050obj instanceof Serializable\051 {) 140.4 351.33 T 54 495/G3.1003457 FmPA (// serialize and add outAttrs) 165.6 339.33 T 54 483/G3.1003458 FmPA (} else if \050obj instanceof DirContext\051 {) 140.4 327.33 T 54 471/G3.1003459 FmPA (// grab attributes and merge with outAttrs) 165.6 315.33 T 54 459/G3.1003460 FmPA (} else {) 140.4 303.33 T 54 447/G3.1003461 FmPA (...) 165.6 291.33 T 54 435/G3.1003462 FmPA (}) 140.4 279.33 T 54 423/G3.1003463 FmPA 2 12 Q (As) 108 260 T (shown) 124.79 260 T (in) 159.58 260 T (these) 172.37 260 T (examples,) 200.48 260 T (a) 252.26 260 T (context) 261.05 260 T (implementation) 299.83 260 T (might) 378.62 260 T (be) 410.09 260 T (able) 424.87 260 T (to) 448.32 260 T (store) 461.11 260 T (different) 487.9 260 T (types) 532.67 260 T 54 404/G3.1003675 FmPA (of) 108 246 T (objects) 121.17 246 T (\050) 158.34 246 T 4 10 Q (Reference) 162.33 246 T 2 12 Q (,) 216.33 246 T 4 10 Q (Serializable) 222.5 246 T 2 12 Q (,) 294.5 246 T (and) 300.67 246 T 4 10 Q (DirContext) 321.17 246 T 2 12 Q (\051.) 381.17 246 T (If) 391.34 246 T (the) 402.51 246 T (context) 420.34 246 T (implementation) 458.84 246 T (can-) 537.35 246 T (not) 108 232 T (store) 126.58 232 T 4 10 Q (Referenceable) 153.16 232 T 2 12 Q (objects) 234.4 232 T (directly) 271.65 232 T (and) 311.55 232 T 4 10 Q (getStateToBind\050\051) 332.13 232 T 2 12 Q (returns) 431.37 232 T (such) 467.94 232 T (an) 493.19 232 T (object,) 507.76 232 T (the) 543.34 232 T (context) 108 218 T (implementation) 146 218 T (should) 224 218 T (subsequently) 258.67 218 T (call) 324.01 218 T 4 10 Q (Referenceable.getReference\050\051) 344.01 218 T 2 12 Q (and) 514.67 218 T (store) 534.67 218 T (the resulting) 108 204 T 4 10 Q (Reference) 170.66 204 T 2 12 Q ( instead.) 224.66 204 T (If) 108 184 T (a) 119.04 184 T (context) 127.42 184 T (implementation) 165.79 184 T (can) 244.18 184 T (store) 263.88 184 T (different) 290.26 184 T (types) 334.62 184 T (of) 363.01 184 T (objects,) 376.05 184 T (it) 416.1 184 T (should) 425.82 184 T (follow) 460.87 184 T (this) 495.25 184 T (order) 515.64 184 T (for) 544.01 184 T 54 328/G3.1006767 FmPA (the following common types:) 108 170 T 4 10 Q (\245) 115 151.33 T (Reference) 126 151.33 T 54 295/G3.1006768 FmPA (\245) 115 134.33 T (Serializable) 126 134.33 T 54 278/G3.1006769 FmPA (\245) 115 117.33 T (DirContext) 126 117.33 T 54 261/G3.1006770 FmPA 2 12 Q (This) 108 98 T (order) 132.95 98 T (is) 161.88 98 T (recommended) 173.5 98 T (because) 245.09 98 T (it) 286.68 98 T (is) 296.96 98 T (most) 308.58 98 T (likely) 335.53 98 T (to) 366.48 98 T (capture) 379.43 98 T (the) 418.36 98 T (intent) 436.63 98 T (of) 467.58 98 T (the) 481.19 98 T (caller) 499.46 98 T (of) 529.73 98 T (the) 543.34 98 T 54 242/G3.1006773 FmPA 4 10 Q (bind\050\051) 108 84 T 2 12 Q (/) 144 84 T 4 10 Q (rebind\050\051) 147.34 84 T 2 12 Q (method.) 198.03 84 T (For) 239.73 84 T (example,) 259.09 84 T (a) 305.44 84 T 4 10 Q (Reference) 313.46 84 T 2 12 Q (is) 370.15 84 T 4 10 Q (Serializable) 380.85 84 T 2 12 Q (,) 452.85 84 T (so) 458.55 84 T (if) 471.91 84 T (you) 487.33 84 T (performed) 508.02 84 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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (the) 108 712 T 4 10 Q (Serializable) 125.17 712 T 2 12 Q (check) 199.68 712 T (first,) 230.17 712 T (no) 255.01 712 T 4 10 Q (Reference) 269.52 712 T 2 12 Q (objects) 326.02 712 T (would) 362.53 712 T (ever) 395.03 712 T (be) 418.19 712 T (stored) 432.03 712 T (in) 463.86 712 T (the) 475.7 712 T (reference) 492.88 712 T (for-) 540.01 712 T (mat \050that is, they would all be serialized\051.) 108 698 T 3 14 Q (2.5) 72.5 670.67 T (Federation Support) 108 670.67 T 54 815/G3.1003676 FmPA 3 12 Q (2.5.1) 66 647 T (Names) 108 647 T 54 791/G3.1002989 FmPA 2 F (When) 108 627 T (a) 140.06 627 T (context) 148.79 627 T (is) 187.53 627 T (given) 198.94 627 T (a) 229.01 627 T (string) 237.74 627 T (name) 268.48 627 T (argument,) 297.88 627 T (the) 349.61 627 T (name) 367.68 627 T (represents) 397.08 627 T (a) 449.13 627 T (composite) 457.86 627 T (name) 510.6 627 T (that) 540 627 T 54 771/G3.1002980 FmPA (may) 108 613 T (span) 133.41 613 T (multiple) 160.15 613 T (namespaces,) 204.91 613 T (or) 269.97 613 T (it) 284.71 613 T (may) 296.13 613 T (have) 321.54 613 T (only) 348.95 613 T (a) 375.03 613 T (single) 385.11 613 T (compound) 418.52 613 T (name) 473.93 613 T (component) 504.67 613 T (\050which) 108 599 T (in) 144.14 599 T (turn) 156.3 599 T (may) 178.45 599 T (be) 201.93 599 T (made) 216.08 599 T (up) 244.89 599 T (of) 259.71 599 T (one) 272.53 599 T (or) 292.67 599 T (several) 305.49 599 T (atomic) 342.29 599 T (names\051) 377.78 599 T (that) 415.25 599 T (belongs) 436.07 599 T (to) 476.22 599 T (a) 488.38 599 T (single) 496.52 599 T (name-) 528.01 599 T (space.) 108 585 T (The) 141.11 585 T (context) 163.23 585 T (implementation) 202.01 585 T (must) 280.8 585 T (determine) 307.6 585 T (which) 359.05 585 T (part) 391.83 585 T (of) 413.95 585 T (the) 427.4 585 T (name) 445.52 585 T (is) 474.97 585 T (to) 486.43 585 T (be) 499.22 585 T (resolved/) 514.01 585 T (processed) 108 571 T (in) 158.09 571 T (its) 170.2 571 T (context) 184.32 571 T (and) 222.42 571 T (pass) 242.52 571 T (the) 265.96 571 T (rest) 283.39 571 T (onto) 303.5 571 T (the) 327.61 571 T (next) 345.05 571 T (context.) 368.48 571 T (This) 409.59 571 T (may) 433.7 571 T (be) 457.14 571 T (done) 471.24 571 T (syntactically) 497.34 571 T (by examining the name, or dynamically by resolving the name.) 108 557 T (When) 108 537 T (a) 139.29 537 T (context) 147.25 537 T (is) 185.21 537 T (given) 195.84 537 T (a) 225.14 537 T 4 10 Q (Name) 233.1 537 T 2 12 Q (argument,) 259.73 537 T (if) 310.69 537 T (it) 320.65 537 T (is) 329.96 537 T (an) 340.59 537 T (instance) 354.55 537 T (of) 396.51 537 T 4 10 Q (CompositeName) 409.14 537 T 2 12 Q (,) 487.14 537 T (then) 492.77 537 T (it) 516.06 537 T (will) 525.37 537 T (be) 546.67 537 T 54 681/G3.1002984 FmPA (treated) 108 523 T (as) 143.95 523 T (a) 157.24 523 T (composite) 165.87 523 T (name.) 218.49 523 T (Otherwise,) 250.78 523 T (it) 306.4 523 T (will) 316.37 523 T (be) 338.33 523 T (treated) 352.96 523 T (as) 388.91 523 T (a) 402.2 523 T (compound) 410.82 523 T (name) 464.78 523 T (that) 494.07 523 T (is) 515.37 523 T (imple-) 526.67 523 T (mented by the) 108 509 T 4 10 Q (CompoundName) 178.99 509 T 2 12 Q ( class or some other compound name implementation.) 250.99 509 T 3 F (2.5.2) 66 486 T (Resolving Through a Context) 108 486 T 54 630/G3.1003557 FmPA 2 F (A) 108 466 T (context) 119.96 466 T (participates) 158.58 466 T (in) 217.2 466 T (a) 229.82 466 T (federation) 238.45 466 T (by) 290.39 466 T (performing) 305.68 466 T (the) 362.97 466 T (resolution) 380.92 466 T (phase) 432.22 466 T (of) 462.84 466 T (all) 476.13 466 T (of) 491.42 466 T (the) 504.71 466 T (context) 522.67 466 T 54 610/G3.1003558 FmPA (operations.) 108 452 T (The) 163.66 452 T 4 10 Q (lookup\050\051) 184.99 452 T 2 12 Q (method) 235.66 452 T (must) 274.33 452 T (always) 300.34 452 T (be) 336.33 452 T (supported.) 350.33 452 T (Support) 403.33 452 T (for) 444 452 T (other) 460.66 452 T (methods) 487.99 452 T (is) 531.33 452 T (op-) 542 452 T (tional,) 108 438 T (but) 141.55 438 T (if) 160.11 438 T (the) 170.66 438 T (context) 188.54 438 T (is) 227.08 438 T (to) 238.3 438 T (participate) 250.86 438 T (in) 304.73 438 T (a) 317.28 438 T (federation,) 325.83 438 T (then) 380.69 438 T (the) 404.57 438 T (resolution) 422.45 438 T (implicit) 473.67 438 T (in) 514.23 438 T (all) 526.79 438 T (op-) 542 438 T (erations must be supported.) 108 424 T 3 10 Q (Figur) 54 405.33 T (e 1: Example of Resolving thr) 77.71 405.33 T (ough Intermediate Contexts to P) 203.91 405.33 T (erf) 342.58 405.33 T (orm a bind\050\051.) 354.54 405.33 T 54 549/G3.1003594 FmPA 2 12 Q (For) 108 175 T (example,) 128.1 175 T (suppose) 175.19 175 T (a) 217.28 175 T (context) 226.04 175 T (does) 264.8 175 T (not) 290.23 175 T (support) 309 175 T (the) 348.43 175 T 4 10 Q (bind\050\051) 366.53 175 T 2 12 Q (operation.) 405.96 175 T (When) 457.72 175 T (that) 489.8 175 T (context) 511.24 175 T (is) 550 175 T 54 319/G3.1003595 FmPA (being) 108 161 T (used) 138.25 161 T (as) 163.82 161 T (an) 177.4 161 T (intermediate) 192.31 161 T (context) 255.88 161 T (for) 294.79 161 T 4 10 Q (bind\050\051) 312.36 161 T 2 12 Q (,) 348.36 161 T (it) 354.95 161 T (must) 365.2 161 T (perform) 392.12 161 T (the) 434.35 161 T (resolution) 452.6 161 T (part) 504.18 161 T (of) 526.42 161 T (that) 540 161 T (operation) 108 147 T (to) 156.37 147 T (enable) 168.75 147 T (the) 203.12 147 T (operation) 220.83 147 T (to) 269.2 147 T (continue) 281.59 147 T (to) 325.96 147 T (the) 338.35 147 T (next) 356.06 147 T (context.) 379.77 147 T (It) 421.14 147 T (should) 431.52 147 T (only) 466.57 147 T (throw) 490.96 147 T 4 10 Q (Opera-) 522 147 T (tionNotSupportedException) 108 133 T 2 12 Q (if) 260.36 133 T (it) 270.05 133 T (is) 279.08 133 T (being) 289.44 133 T (asked) 318.47 133 T (to) 348.15 133 T (create) 359.84 133 T (a) 390.85 133 T (binding) 398.53 133 T (in) 437.56 133 T (its) 449.26 133 T (own) 462.96 133 T (context.) 485.98 133 T (Figure) 526.67 133 T (1) 108 119 T (shows) 117.48 119 T (an) 150.96 119 T (example) 165.77 119 T (of) 209.9 119 T (how) 223.38 119 T (the) 247.52 119 T 4 10 Q (bind\050\051) 265.67 119 T 2 12 Q (operation) 305.15 119 T (is) 353.95 119 T (passed) 365.44 119 T (through) 400.91 119 T (intermediate) 441.72 119 T (contexts) 505.19 119 T (to) 548.66 119 T (be performed in the target context.) 108 105 T 54 191 558 402 C 0 0 0 1 0 0 0 1 K 4 X 90 450 13.5 13.5 457.17 273.7 G 0.5 H 2 Z 0 X 90 450 13.5 13.5 457.17 273.7 A 7 X 90 450 13.5 13.5 346 273.7 G 0 X 90 450 13.5 13.5 346 273.7 A 7 X 90 450 13.5 13.5 238.5 273.7 G 0 X 90 450 13.5 13.5 238.5 273.7 A 7 X 90 450 13.5 13.5 126.17 273.7 G 0 X 90 450 13.5 13.5 126.17 273.7 A 4 10 Q (ctx.bind\050\322c1/c2/c3/a\323,) 236.37 373.33 T (\051) 386.36 373.33 T 213.97 273.7 213.97 276.35 223.19 273.7 213.97 271.06 4 Y 1 H 0 Z N 213.97 273.7 213.97 276.35 223.19 273.7 213.97 271.06 4 Y V 139.67 273.7 213.47 273.7 2 L 0.5 H 2 Z N 321.47 273.7 321.47 276.35 330.69 273.7 321.47 271.06 4 Y 1 H 0 Z N 321.47 273.7 321.47 276.35 330.69 273.7 321.47 271.06 4 Y V 252 273.7 320.97 273.7 2 L 0.5 H 2 Z N 432.63 274.2 432.63 276.85 441.85 274.2 432.63 271.56 4 Y 1 H 0 Z N 432.63 274.2 432.63 276.85 441.85 274.2 432.63 271.56 4 Y V 360 274.2 432.13 274.2 2 L 0.5 H 2 Z N 502 267.87 513.67 279.53 R 1 X V 0 X N (bind\050\322c1/c2/c3/a\323, \051) 90 233.6 T (bind\050\322c2/c3/a\323, \051) 187.33 299.67 T (bind\050\322c3/a\323, \051) 306 233.6 T 470.67 273.7 507 273.7 2 L N (bind\050\322a\323, \051) 423 300.83 T 479.33 298.67 491 310.33 R 1 X V 0 X N 369.86 371.5 381.53 383.17 R 1 X V 0 X N (ctx) 116.17 272.1 T 198 233.54 209.67 245.2 R 1 X V 0 X N 278.33 297.83 290 309.5 R 1 X V 0 X N 377.83 232.6 389.5 244.27 R 1 X V 0 X N (a) 486 278.6 T (c3) 387 278.6 T (c2) 279 278.6 T (c1) 168.67 278.6 T 81 204 531 330 R N 214.33 294 236.83 287.2 2 L N 441 294 447.62 283.25 2 L N 324 240 346 260.2 2 L N 120.34 260.6 108 240 2 L N J 81 330 84.65 330.86 2 L N [7.663 6.641] 7.663 I 84.65 330.86 230.35 365.14 2 L N J 230.35 365.14 234 366 2 L N J 369 366 372.66 365.19 2 L N [7.404 6.417] 7.404 I 372.66 365.19 527.34 330.82 2 L N J 527.34 330.82 531 330 2 L 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.9/DEST FmPD2 98 556/M3.9.36058.FigureTitle.Figure.1.Example.of.Resolving.through.Intermediate.Contexts.toPerform.a.bind FmPA 98 556/I3.1.1003559 FmPA [/Rect[526 129 558 142]/Border[0 0 0]/Page 13/View[/XYZ null 98 556 FmDC exch pop null]/LNK FmPD [/Rect[54 115 114 129]/Border[0 0 0]/Page 13/View[/XYZ null 98 556 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 3 12 Q 0 X (2.5.3) 66 712 T (Resolving Through to Subinterfaces of Context) 108 712 T 54 856/G3.1003600 FmPA 2 F (To) 108 692 T (invoke) 124.36 692 T (a) 160.06 692 T 4 10 Q (DirContext) 168.42 692 T 2 12 Q (method) 231.45 692 T (\050such) 270.48 692 T (as) 299.5 692 T 4 10 Q (getAttributes\050\051) 312.53 692 T 2 12 Q (\051,) 402.53 692 T (the) 412.56 692 T (application) 430.25 692 T (first) 486.61 692 T (obtains) 508.97 692 T (an) 546.67 692 T 54 836/G3.1003601 FmPA (initial) 108 678 T 4 10 Q (DirContext) 139.01 678 T 2 12 Q (, and then perform the operation on the) 199.01 678 T 4 10 Q (DirContext) 389.3 678 T 2 12 Q (.) 449.3 678 T 4 10 Q (DirContext ctx = new InitialDirContext\050\051;) 140.4 659.33 T 54 803/G3.1003602 FmPA (Attributes attrs = ctx.getAttributes\050someName\051;) 140.4 647.33 T 54 791/G3.1003603 FmPA 2 12 Q (From) 108 628 T (the) 138.86 628 T (context) 158.38 628 T (implementation\325s) 198.56 628 T (perspective,) 287.41 628 T (in) 349.91 628 T (order) 364.1 628 T (to) 394.27 628 T (retrieve) 408.46 628 T (the) 449.96 628 T (attributes,) 469.48 628 T 4 10 Q (getAt-) 522 628 T 54 772/G3.1003604 FmPA (tributes\050\051) 108 614 T 2 12 Q (might) 170.79 614 T (need) 201.58 614 T (to) 227.02 614 T (traverse) 239.15 614 T (multiple) 279.91 614 T (naming) 322.71 614 T (systems.) 361.49 614 T (Some) 410.86 614 T (of) 440.98 614 T (these) 453.76 614 T (naming) 481.21 614 T (systems) 519.99 614 T (only) 108 600 T (support) 132.56 600 T (the) 171.79 600 T 4 10 Q (Context) 189.68 600 T 2 12 Q (interface,) 234.91 600 T (not) 283.12 600 T (the) 301.68 600 T 4 10 Q (DirContext) 319.57 600 T 2 12 Q (interface.) 382.8 600 T (These) 431 600 T (naming) 462.89 600 T (systems) 502.12 600 T (are) 543.35 600 T (being) 108 586 T (used) 137.82 586 T (as) 162.98 586 T (intermediaries) 176.13 586 T (for) 247.95 586 T (resolving) 265.1 586 T (towards) 312.92 586 T (the) 354.07 586 T (target) 371.9 586 T (context.) 402.38 586 T (The) 443.87 586 T (target) 465.69 586 T (context) 496.17 586 T (must) 534.66 586 T (support the) 108 572 T 4 10 Q (DirContext) 164.66 572 T 2 12 Q ( interface. Figure 2 shows an example of this.) 224.66 572 T 3 10 Q (Figur) 54 553.33 T (e 2: Example of Resolving Thr) 77.71 553.33 T (ough Intermediate non-DirContexts) 207.25 553.33 T 54 697/G3.1003628 FmPA 2 12 Q (In) 108 390 T (order) 120.53 390 T (for) 148.38 390 T (intermediate) 164.9 390 T (naming) 227.41 390 T (systems) 265.94 390 T (to) 306.48 390 T (participate) 318.34 390 T (in) 371.52 390 T (the) 383.39 390 T (federation) 400.58 390 T (for) 451.76 390 T (extensions) 468.28 390 T (of) 521.47 390 T 4 10 Q (Con-) 534 390 T 54 534/G3.1003629 FmPA (text) 108 376 T 2 12 Q (,) 132 376 T (they) 139.21 376 T (must) 164.08 376 T (implement) 191.63 376 T (the) 247.18 376 T 4 10 Q (Resolver) 266.05 376 T 2 12 Q (interface.) 318.26 376 T (The) 367.44 376 T 4 10 Q (Resolver) 390.31 376 T 2 12 Q (interface) 442.52 376 T (is) 488.71 376 T (used) 500.92 376 T (by) 527.13 376 T (the) 543.34 376 T (JNDI) 108 362 T (framework) 136.82 362 T (to) 192.29 362 T (resolve) 204.45 362 T (through) 241.93 362 T (intermediate) 282.09 362 T (contexts) 344.91 362 T (that) 387.73 362 T (do) 408.55 362 T (not) 423.38 362 T (support) 441.54 362 T (a) 480.37 362 T (particular) 488.52 362 T (sub-) 537.34 362 T (interface) 108 348 T (of) 153.2 348 T 4 10 Q (Context) 166.43 348 T 2 12 Q (.) 208.43 348 T (It) 214.65 348 T (consists) 225.21 348 T (of) 266.44 348 T (two) 279.67 348 T (overloaded) 300.89 348 T (forms) 357.44 348 T (of) 388.66 348 T (the) 401.88 348 T (method) 419.77 348 T 4 10 Q (resolveToClass\050\051) 459 348 T 2 12 Q (.) 555 348 T (This) 108 334 T (method) 132.18 334 T (is) 171.03 334 T (used) 181.88 334 T (to) 206.72 334 T (partially) 218.9 334 T (resolve) 261.74 334 T (a) 299.24 334 T (name,) 307.42 334 T (stopping) 339.25 334 T (at) 383.44 334 T (the) 394.95 334 T (first) 412.46 334 T (context) 434.63 334 T (that) 472.81 334 T (is) 493.65 334 T (an) 504.5 334 T (instance) 518.68 334 T (of) 108 320 T (the) 121.02 320 T (required) 138.72 320 T (subinterface.) 181.73 320 T (By) 246.4 320 T (providing) 263.43 320 T (support) 313.13 320 T (for) 352.16 320 T (this) 369.18 320 T (method) 389.55 320 T (and) 428.58 320 T (the) 448.93 320 T (resolution) 466.62 320 T (phase) 517.65 320 T (of) 548 320 T (all) 108 306 T (methods) 122.65 306 T (in) 165.96 306 T (the) 177.95 306 T 4 10 Q (Context) 195.26 306 T 2 12 Q (interface,) 239.91 306 T (a) 287.54 306 T (context) 295.51 306 T (implementation) 333.49 306 T (can) 411.47 306 T (act) 430.78 306 T (as) 447.42 306 T (an) 460.06 306 T (intermediate) 474.04 306 T (con-) 536.68 306 T (text for extensions \050subinterfaces\051 of) 108 292 T 4 10 Q (Context) 286.96 292 T 2 12 Q (.) 328.96 292 T 4 10 Q (public interface Resolver {) 140.4 273.33 T 54 417/G3.1003630 FmPA (public ResolveResult resolveToClass\050Name name, Class contextType\051) 165.6 261.33 T 54 405/G3.1003631 FmPA (throws NamingException;) 190.8 249.33 T (public ResolveResult resolveToClass\050String name,) 165.6 237.33 T 54 381/G3.1003632 FmPA ( Class contextType\051) 165.6 225.33 T 54 369/G3.1003633 FmPA (throws NamingException;) 190.8 213.33 T (}) 140.4 201.33 T 54 345/G3.1003634 FmPA 3 12 Q (2.5.4) 66 179 T (Naming System Boundaries) 108 179 T 54 323/G3.1003689 FmPA 2 F (The) 108 159 T (resolution) 130.33 159 T (of) 182 159 T (a) 195.67 159 T (\050multicomponent\051) 204.67 159 T (composite) 295 159 T (name) 348.01 159 T (proceeds) 377.67 159 T (from) 423.99 159 T (one) 450.99 159 T (naming) 471.99 159 T (system) 511.66 159 T (to) 548.66 159 T 54 303/G3.1003694 FmPA (the) 108 145 T (next,) 125.07 145 T (with) 151.14 145 T (the) 174.89 145 T (resolution) 191.96 145 T (of) 242.37 145 T (the) 254.77 145 T (components) 271.84 145 T (that) 332.24 145 T (span) 352.65 145 T (each) 377.06 145 T (naming) 401.45 145 T (system) 439.86 145 T (typically) 475.6 145 T (handled) 520.01 145 T (by) 108 131 T (a) 122.67 131 T (corresponding) 130.67 131 T (context) 201.99 131 T (implementation.) 239.98 131 T (From) 320.99 131 T (a) 349.66 131 T (context) 357.66 131 T (implementation\325s) 395.66 131 T (point) 482.33 131 T (of) 509.67 131 T (view,) 522.33 131 T (it) 551.33 131 T (passes) 108 117 T (the) 142.33 117 T (components) 160.66 117 T (for) 222.33 117 T (which) 239.99 117 T (it) 272.99 117 T (is) 283.33 117 T (not) 295 117 T (responsible) 314.01 117 T (to) 372.34 117 T (the) 385.34 117 T (\050context) 403.68 117 T (implementation) 446.67 117 T (of) 525.67 117 T (the\051) 539.34 117 T 0 F (next naming system) 108 103 T 2 F (.) 201.98 103 T 54 406 558 550 C 0 0 0 1 0 0 0 1 K 7 X 90 450 31.5 18 121.5 496 G 0.5 H 2 Z 0 X 90 450 31.5 18 121.5 496 A 7 X 90 450 31.5 18 337.5 451.67 G 0 X 90 450 31.5 18 337.5 451.67 A 5 X 90 450 31.5 18 400.5 505 G 0 X 90 450 31.5 18 400.5 505 A 450 415 549 469 R 7 X V 0 X N 7 X 90 450 15.75 9 474.75 451 G 0 X 90 450 15.75 9 474.75 451 A 7 X 90 450 13.5 13.5 256.5 455.5 G 0 X 90 450 13.5 13.5 256.5 455.5 A 7 X 90 450 13.5 13.5 193.5 473.5 G 0 X 90 450 13.5 13.5 193.5 473.5 A 173.77 487.31 174.8 489.74 182.28 483.75 172.75 484.87 4 Y 1 H 0 Z N 173.77 487.31 174.8 489.74 182.28 483.75 172.75 484.87 4 Y V 153 496 173.31 487.5 2 L 0.5 H 2 Z N 233.13 460.43 234.31 462.8 241.38 456.31 231.95 458.07 4 Y 1 H 0 Z N 233.13 460.43 234.31 462.8 241.38 456.31 231.95 458.07 4 Y V 207 473.5 232.68 460.66 2 L 0.5 H 2 Z N 295.03 452.83 295.31 455.46 304.2 451.86 294.75 450.21 4 Y 1 H 0 Z N 295.03 452.83 295.31 455.46 304.2 451.86 294.75 450.21 4 Y V 270 455.5 294.53 452.89 2 L 0.5 H 2 Z N 392.12 479.82 390.4 481.83 399.12 485.82 393.84 477.81 4 Y 1 H 0 Z N 392.12 479.82 390.4 481.83 399.12 485.82 393.84 477.81 4 Y V 369 460 391.74 479.49 2 L 0.5 H 2 Z N 7 X 90 450 6.75 6.75 475.33 425 G 0 X 90 450 6.75 6.75 475.33 425 A 2 12 Q (target) 388.33 531 T 4 10 Q (DirContext) 418.66 531 T 2 12 Q (starting) 80.83 524.33 T 4 10 Q (DirContext) 119.83 524.33 T 2 9 Q (DirContext) 498.67 446.17 T (Context) 498.67 422.5 T 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.10/DEST FmPD2 108 331/M3.9.20464.subsection.234.Naming.System.Boundaries FmPA 108 331/I3.1.1003878 FmPA 108 864/M3.9.30333.section.23.Resolving.Through.to.Subinterfaces.of.Context FmPA 108 864/I3.1.1003599 FmPA 98 704/M3.9.15420.FigureTitle.Figure.2.Example.of.Resolving.Through.Intermediate.nonDSContexts FmPA 98 704/I3.1.1003608 FmPA [/Rect[280 568 322 581]/Border[0 0 0]/Page 14/View[/XYZ null 98 704 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (There) 108 712 T (are) 139.23 712 T (several) 157.12 712 T (ways) 194.35 712 T (in) 222.25 712 T (which) 234.83 712 T (the) 267.4 712 T (context) 285.31 712 T (implementation) 323.88 712 T (for) 402.46 712 T (the) 419.7 712 T (next) 437.61 712 T (naming) 461.51 712 T (system) 500.76 712 T (may) 537.34 712 T 54 856/G3.1003714 FmPA (be) 108 698 T (located.) 121.85 698 T (It) 162.03 698 T (may) 171.89 698 T (be) 195.07 698 T (done) 208.93 698 T 0 F (explicitly) 234.78 698 T 2 F (through) 281.29 698 T (the) 321.15 698 T (use) 338.33 698 T (of) 356.85 698 T (a) 369.37 698 T 0 F (junction) 377.22 698 T 2 F (,) 416.56 698 T (where) 422.08 698 T (a) 453.92 698 T (name) 461.77 698 T (in) 490.29 698 T (one) 502.15 698 T (naming) 522 698 T (system) 108 684 T (is) 144.24 684 T (bound) 155.16 684 T (to) 188.07 684 T (a) 200.31 684 T (context) 208.55 684 T (\050or) 246.79 684 T (a) 263.69 684 T 4 10 Q (Reference) 271.93 684 T 2 12 Q (to) 328.84 684 T (a) 341.08 684 T (context\051) 349.32 684 T (in) 391.55 684 T (the) 403.8 684 T (next) 421.37 684 T (naming) 444.94 684 T (system.) 483.85 684 T (For) 523.1 684 T (ex-) 542.67 684 T (ample,) 108 670 T (with) 142.99 670 T (the) 167 670 T (composite) 184.33 670 T (name) 236.33 670 T (\322cn=fs,ou=eng/lib/xyz.zip\323,) 264.98 670 T (the) 401.5 670 T (LDAP) 418.83 670 T (name) 452.83 670 T (\322cn=fs,ou=eng\323) 481.49 670 T (might) 108 656 T (resolve) 138.8 656 T (to) 176.25 656 T (a) 188.39 656 T (file) 196.51 656 T (system) 215.3 656 T (context) 251.43 656 T (in) 289.55 656 T (which) 301.69 656 T (the) 333.81 656 T (name) 351.27 656 T (\322lib/xyz.zip\323) 380.05 656 T (could) 444.51 656 T (then) 473.97 656 T (be) 497.42 656 T (resolved.) 511.55 656 T (Alternately,) 108 636 T (the) 168.15 636 T (next) 185.97 636 T (naming) 209.79 636 T (system) 248.95 636 T (may) 285.44 636 T (be) 309.26 636 T (located) 323.75 636 T 0 F (implicitly) 361.56 636 T 2 F (.) 406.9 636 T (For) 413.06 636 T (example,) 432.88 636 T (a) 479.7 636 T (context) 488.18 636 T (imple-) 526.67 636 T 54 780/G3.1003721 FmPA (mentation) 108 622 T (may) 159.28 622 T (choose) 183.23 622 T (the) 219.84 622 T (next) 237.79 622 T (naming) 261.74 622 T (system) 301.02 622 T (based) 337.64 622 T (upon) 368.25 622 T (service-specific) 395.53 622 T (knowledge) 474.12 622 T (of) 530.06 622 T (the) 543.34 622 T (object) 108 608 T (that) 145.63 608 T (it) 171.94 608 T (has) 186.92 608 T (resolved.) 211.23 608 T (For) 263.19 608 T (example,) 288.16 608 T (with) 340.13 608 T (the) 369.77 608 T (composite) 392.74 608 T (name) 450.38 608 T (\322ldap.wiz.com/) 484.68 608 T (cn=fs,ou=eng\323,) 108 594 T (the) 185.05 594 T (DNS) 202.59 594 T (name) 229.46 594 T 4 10 Q (ldap.wiz.com) 258.32 594 T 2 12 Q (might) 333.19 594 T (name) 364.07 594 T (a) 392.93 594 T (DNS) 401.13 594 T (entry.) 428 594 T (To) 458.53 594 T (get) 474.74 594 T (the) 492.27 594 T (next) 509.8 594 T (nam-) 533.34 594 T (ing) 108 580 T (system) 127.59 580 T (beyond) 165.17 580 T (DNS,) 204.75 580 T (the) 236 580 T (DNS) 254.92 580 T (context) 283.17 580 T (implementation) 322.75 580 T (might) 402.34 580 T (construct) 434.6 580 T (a) 482.84 580 T (context) 492.42 580 T (using) 532 580 T (SRV) 108 566 T (resource) 134.43 566 T (records) 178.16 566 T (found) 216.57 566 T (in) 247.65 566 T (that) 260.07 566 T (entry,) 281.16 566 T (which) 311.91 566 T (in) 344.33 566 T (this) 356.75 566 T (case,) 377.18 566 T (happens) 403.92 566 T (to) 446.33 566 T (name) 458.76 566 T (an) 487.84 566 T (LDAP) 502.26 566 T (con-) 536.67 566 T (text.) 108 552 T (When) 132.05 552 T (the) 163.76 552 T (next) 181.47 552 T (naming) 205.19 552 T (system) 244.24 552 T (is) 280.63 552 T (located) 291.68 552 T (in) 329.39 552 T (this) 341.78 552 T (fashion,) 362.17 552 T (JNDI) 403.55 552 T (composite) 432.59 552 T (name) 484.98 552 T (separator) 514.02 552 T (is) 108 538 T (used) 119.54 538 T (to) 145.08 538 T (denote) 157.96 538 T (the) 193.49 538 T (boundary) 211.7 538 T (from) 260.56 538 T (one) 287.43 538 T (naming) 308.3 538 T (system) 347.84 538 T (to) 384.71 538 T (the) 397.59 538 T (next,) 415.8 538 T (and) 443 538 T (is) 463.87 538 T (referred) 475.41 538 T (to) 516.92 538 T (as) 529.8 538 T (the) 543.34 538 T 0 F (implicit next naming system pointer) 108 524 T 2 F (.) 279.32 524 T (However) 108 504 T (the) 155.7 504 T (next) 174.09 504 T (naming) 198.47 504 T (system) 238.19 504 T (is) 275.25 504 T (located,) 286.97 504 T (the) 328.35 504 T (context) 346.73 504 T (implementation) 385.78 504 T (must) 464.84 504 T (hand) 491.9 504 T (the) 518.95 504 T (next) 537.34 504 T 54 648/G3.1003728 FmPA (naming system the remaining portion of the composite name to resolve.) 108 490 T 3 F (2.5.5) 66 467 T (Continuing an Operation in a Federation) 108 467 T 54 611/G3.1003693 FmPA 2 F (In) 108 447 T (performing) 120.6 447 T (an) 177.2 447 T (operation) 191.13 447 T (on) 239.06 447 T (a) 253.66 447 T (name) 261.6 447 T (that) 290.2 447 T (spans) 310.8 447 T (multiple) 340.07 447 T (namespaces,) 382.68 447 T (a) 445.6 447 T (context) 453.54 447 T (in) 491.47 447 T (an) 503.41 447 T (interme-) 517.34 447 T 54 591/G3.1003637 FmPA (diate) 108 433 T (naming) 133.66 433 T (system) 172 433 T (needs) 207.67 433 T (to) 237.33 433 T (pass) 249 433 T (the) 272 433 T (operation) 289 433 T (onto) 336.66 433 T (the) 360.34 433 T (next) 377.34 433 T (naming) 400.34 433 T (system.) 438.67 433 T (The) 477.34 433 T (context) 498.34 433 T (does) 536 433 T (this) 108 419 T (by) 127.71 419 T (first) 142.08 419 T (constructing) 163.78 419 T (a) 225.48 419 T 4 10 Q (CannotProceedException) 233.18 419 T 2 12 Q (containing) 367.55 419 T (information) 420.59 419 T (pinpointing) 479.62 419 T (how) 537.34 419 T (far) 108 405 T (it) 124.93 405 T (has) 135.2 405 T (proceeded.) 154.8 405 T (In) 210.72 405 T (so) 224.32 405 T (doing) 238.59 405 T (it) 269.54 405 T (sets) 279.81 405 T (the) 301.42 405 T (resolved) 319.69 405 T (object,) 363.95 405 T (resolved) 399.88 405 T (name,) 444.14 405 T (remaining) 476.74 405 T (name,) 529.01 405 T (and) 108 387.8 T (environment) 127.8 387.8 T (parts) 190.93 387.8 T (of) 216.73 387.8 T (the) 229.2 387.8 T (exception.) 246.33 387.8 T 2 9.6 Q (1) 295.99 392.6 T 2 12 Q (\050In) 303.26 387.8 T (the) 319.72 387.8 T (case) 336.86 387.8 T (of) 359.98 387.8 T (the) 372.45 387.8 T 4 10 Q (Context.rename\050\051) 389.58 387.8 T 2 12 Q (method,) 488.05 387.8 T (it) 529.53 387.8 T (also) 538.67 387.8 T (sets the \322resolved newname\323 part.\051) 108 373.8 T (It) 108 353.8 T (then) 118.11 353.8 T (obtains) 141.56 353.8 T (a) 179 353.8 T 0 F (continuation) 187.11 353.8 T (context) 250.56 353.8 T 2 F (from) 288 353.8 T (JNDI) 314.11 353.8 T (by) 342.88 353.8 T (passing) 357.66 353.8 T (the) 396.44 353.8 T 4 10 Q (CannotProceedException) 413.88 353.8 T 2 12 Q (to) 548.66 353.8 T 54 498/G3.1003641 FmPA (static method) 108 339.8 T 4 10 Q (NamingManager) 175.33 339.8 T 2 12 Q (.) 253.33 339.8 T 4 10 Q (getContinuationContext\050\051) 256.33 339.8 T (public class NamingManager {) 140.4 321.13 T 54 465/G3.1003642 FmPA (public static Context getContinuationContext\050) 165.6 309.13 T 54 453/G3.1003643 FmPA (CannotProceedException e\051 throws NamingException;) 190.8 297.13 T 54 441/G3.1003644 FmPA (...) 165.6 285.13 T 54 429/G3.1003645 FmPA (}) 140.4 273.13 T 54 417/G3.1003646 FmPA 2 12 Q (The) 108 253.8 T (information) 129.16 253.8 T (in) 188.33 253.8 T (the) 200.17 253.8 T (exception) 217.34 253.8 T (is) 266.5 253.8 T (used) 277.01 253.8 T (by) 301.51 253.8 T 4 10 Q (getContinuationContext\050\051) 316.01 253.8 T 2 12 Q (to) 462.52 253.8 T (create) 474.36 253.8 T (the) 505.5 253.8 T (context) 522.67 253.8 T 54 398/G3.1003647 FmPA (instance in which to continue the operation.) 108 239.8 T (To) 108 219.8 T (obtain) 130.17 219.8 T (a) 169.01 219.8 T (continuation) 183.17 219.8 T (context) 252.01 219.8 T (for) 296.17 219.8 T (the) 319 219.8 T 4 10 Q (DirContext) 342.5 219.8 T 2 12 Q (operations,) 411.34 219.8 T (use) 473.17 219.8 T 4 10 Q (Directory-) 498 219.8 T 54 364/G3.1003648 FmPA (Manager.getContinuationDirContext\050\051) 108 205.8 T 2 12 Q (.) 318 205.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 (The) 84 101.33 T 4 9 Q (CannotProceedException) 102.05 101.33 T 2 10 Q ( may well ha) 220.85 101.33 T (v) 272.03 101.33 T (e been thro) 276.88 101.33 T (wn by one of the conte) 321.06 101.33 T (xt\325) 412.28 101.33 T (s internal methods when it) 422.84 101.33 T 54 245/G3.1003640 FmPA (disco) 84 89.33 T (v) 104.96 89.33 T (ered that the name being processed is be) 109.81 89.33 T (yond the scope of its naming system. The process by which the) 271.01 89.33 T (e) 84 77.33 T (xception is produced is dependent on the implementation of the conte) 88.29 77.33 T (xt.) 366.44 77.33 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.11/DEST FmPD2 108 619/M3.9.31755.subsection.224.Continuing.an.Operation.in.a.Federation FmPA 108 619/I3.1.1003635 FmPA [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 4 F 0 X (public class DirectoryManager {) 140.4 713.33 T 54 857/G3.1003649 FmPA (public static getContinuationDirContext\050) 165.6 701.33 T 54 845/G3.1003650 FmPA (CannotProceedException e\051 throws NamingException;) 190.8 689.33 T 54 833/G3.1003651 FmPA (...) 165.6 677.33 T 54 821/G3.1003652 FmPA (}) 140.4 665.33 T 54 809/G3.1003653 FmPA 2 12 Q (Upon) 108 646 T (receiving) 137.75 646 T (the) 185.49 646 T (continuation) 203.24 646 T (context,) 266.33 646 T (the) 307.75 646 T (operation) 325.5 646 T (should) 373.91 646 T (be) 409 646 T (continued) 423.42 646 T (using) 473.84 646 T (the) 502.93 646 T (remain-) 520.68 646 T 54 790/G3.1003654 FmPA (der of the name that has not been resolved.) 108 632 T (For) 108 612 T (example,) 127.61 612 T (when) 174.2 612 T (attempting) 203.13 612 T (to) 257.4 612 T (continue) 269.67 612 T (a) 313.94 612 T 4 10 Q (bind\050\051) 322.2 612 T 2 12 Q (operation,) 364.08 612 T (the) 415.34 612 T (code) 432.94 612 T (in) 458.53 612 T (the) 470.8 612 T (context) 488.4 612 T (imple-) 526.67 612 T 54 756/G3.1003655 FmPA (mentation might look as follows:) 108 598 T 4 10 Q (public void bind\050Name name, Object obj\051 throws NamingException {) 140.4 579.33 T 54 723/G3.1003656 FmPA (...) 165.6 567.33 T 54 711/G3.1003657 FmPA (try {) 165.6 555.33 T 54 699/G3.1003658 FmPA (internal_bind\050name, obj\051;) 190.8 543.33 T 54 687/G3.1003659 FmPA (...) 190.8 531.33 T 54 675/G3.1003660 FmPA (} catch \050CannotProceedException e\051 {) 165.6 519.33 T 54 663/G3.1003661 FmPA (Context cctx =) 190.8 507.33 T (NamingManager.getContinuationContext\050e\051;) 280.8 507.33 T 54 651/G3.1003662 FmPA (cctx.bind\050e.getRemainingName\050\051, obj\051;) 190.8 495.33 T 54 639/G3.1003663 FmPA (}) 165.6 483.33 T 54 627/G3.1003664 FmPA (}) 140.4 471.33 T 54 615/G3.1003665 FmPA 2 12 Q (In) 108 452 T (this) 121.43 452 T (example,) 142.21 452 T 4 10 Q (bind\050\051) 189.31 452 T 2 12 Q (depends) 228.75 452 T (on) 271.51 452 T (an) 286.95 452 T (internal) 301.72 452 T (method,) 341.82 452 T 4 10 Q (internal_bind\050\051,) 384.26 452 T 2 12 Q (to) 483.7 452 T (carry) 496.47 452 T (out) 524.56 452 T (the) 543.34 452 T 54 596/G3.1003666 FmPA (actual) 108 438 T (work) 139.86 438 T (of) 167.72 438 T (the) 180.92 438 T (bind) 198.79 438 T (and) 223.32 438 T (to) 243.85 438 T (throw) 256.39 438 T (a) 287.59 438 T 4 10 Q (CannotProceedException) 296.12 438 T 2 12 Q (when) 431.32 438 T (it) 460.52 438 T (discovers) 470.39 438 T (that) 518.92 438 T (it) 540.12 438 T (is) 549.99 438 T (going) 108 424 T (beyond) 139.73 424 T (this) 179.46 424 T (naming) 201.19 424 T (system.) 241.59 424 T (The) 282.32 424 T (exception) 305.37 424 T (is) 356.42 424 T (then) 368.82 424 T (passed) 393.88 424 T (to) 430.27 424 T 4 10 Q (getContinuationCon-) 444 424 T (text\050\051) 108 410 T 2 12 Q (in) 147.15 410 T (order) 159.63 410 T (to) 188.1 410 T (continue) 200.59 410 T (the) 245.06 410 T (operation.) 262.87 410 T (If) 314.35 410 T (the) 325.49 410 T (operation) 343.3 410 T (cannot) 391.77 410 T (be) 426.91 410 T (continued,) 441.39 410 T (the) 494.86 410 T (continua-) 512.67 410 T (tion) 108 396 T (context) 131.17 396 T (will) 171 396 T (throw) 194.18 396 T (the) 226.68 396 T 4 10 Q (CannotProceedException) 245.84 396 T 2 12 Q (to) 382.34 396 T (the) 396.18 396 T (caller) 415.35 396 T (of) 446.5 396 T (the) 461 396 T (original) 480.17 396 T 4 10 Q (bind\050\051) 522 396 T 2 12 Q (operation.) 108 382 T 3 F (2.5.6) 66 359 T (\322Dynamic\323 Location of Next Naming System) 108 359 T 54 503/G3.1003761 FmPA 2 F (In) 108 339 T (some) 120.74 339 T (federation) 148.81 339 T (configurations,) 200.2 339 T (the) 275.26 339 T (result) 292.67 339 T (of) 322.08 339 T (resolution) 334.81 339 T (in) 385.55 339 T (one) 397.63 339 T (naming) 417.7 339 T (system) 456.44 339 T (does) 492.52 339 T (not) 517.25 339 T (indi-) 535.33 339 T 54 483/G3.1003898 FmPA (cate) 108 325 T (which) 129.73 325 T (is) 161.46 325 T (the) 171.88 325 T (next) 188.95 325 T (naming) 212.02 325 T (system.) 250.43 325 T (The) 289.17 325 T (only) 310.24 325 T (conclusion) 333.98 325 T (that) 388.39 325 T (the) 408.79 325 T (context) 425.86 325 T (implementation) 463.6 325 T (can) 541.34 325 T (draw) 108 311 T (is) 135.06 311 T (that) 146.13 311 T (resolution) 167.2 311 T (has) 218.27 311 T (terminated) 237.34 311 T (in) 291.73 311 T (the) 304.14 311 T (current) 321.88 311 T (naming) 358.93 311 T (system) 398 311 T (and) 434.41 311 T (should) 454.8 311 T (proceed) 489.88 311 T (to) 530.93 311 T (the) 543.34 311 T (next naming system.) 108 297 T (For) 108 277 T (example,) 128.07 277 T (suppose) 175.12 277 T (the) 217.18 277 T (composite) 235.24 277 T (name) 287.98 277 T (\322lib/xyz.zip/part1/abc\323) 317.36 277 T (consists) 430.41 277 T (of) 471.81 277 T (two) 485.2 277 T (parts:) 506.6 277 T (\322lib/) 536.66 277 T 54 421/G3.1003943 FmPA (xyz.zip\323,) 108 263 T (which) 154.39 263 T (names) 186.79 263 T (a) 220.53 263 T (file) 228.93 263 T (in) 248 263 T (ZIP) 260.4 263 T (format,) 281.48 263 T (and) 319.54 263 T (\322part1/abc\323,) 339.94 263 T (which) 401.32 263 T (names) 433.72 263 T (an) 467.46 263 T (entry) 481.86 263 T (within) 509.59 263 T (the) 543.34 263 T (ZIP) 108 249 T (file.) 129.11 249 T (Although) 151.21 249 T (the) 199.65 249 T (resolution) 217.43 249 T (of) 268.53 249 T (\322lib/xyz.zip\323) 281.64 249 T (results) 346.4 249 T (in) 380.84 249 T (a) 393.28 249 T (file) 401.72 249 T (object,) 420.82 249 T (the) 456.26 249 T (desired) 474.03 249 T (result) 511.79 249 T (is) 541.56 249 T (a) 552.67 249 T (context) 108 235 T (in) 147.38 235 T (which) 160.77 235 T (to) 194.16 235 T (resolve) 207.55 235 T (names) 246.26 235 T (of) 280.97 235 T (ZIP) 295.03 235 T (entries.) 317.08 235 T (Similarly,) 356.13 235 T (another) 407.86 235 T (composite) 447.9 235 T (name) 501.29 235 T (could) 531.34 235 T (name) 108 221 T (an) 137.42 221 T (entry) 152.18 221 T (within) 180.27 221 T (a) 214.38 221 T (file) 223.13 221 T (in) 242.56 221 T (\322tar\323) 255.33 221 T (format,) 282.07 221 T (and) 320.5 221 T (the) 341.25 221 T (desired) 359.35 221 T (result) 397.44 221 T (of) 427.53 221 T (the) 440.96 221 T (resolution) 459.05 221 T (of) 510.48 221 T (the) 523.91 221 T (file) 542 221 T (component of the composite name would be a context in which to resolve tar entries.) 108 207 T (In) 108 187 T (effect,) 120.74 187 T (any) 153.8 187 T (type) 173.88 187 T (of) 197.29 187 T (context) 210.03 187 T (might) 248.1 187 T (be) 278.86 187 T (federated) 292.93 187 T (beneath) 340.32 187 T (the) 380.38 187 T (file) 397.79 187 T (system) 416.54 187 T (namespace) 452.62 187 T (depending) 508.01 187 T 54 331/G3.1003770 FmPA (on) 108 173 T (the) 122.65 173 T (format) 139.96 173 T (of) 174.6 173 T (the) 187.24 173 T (files.) 204.55 173 T (Such) 230.87 173 T (relationships) 257.51 173 T (should) 321.49 173 T (be) 356.14 173 T (symmetric:) 370.12 173 T (it) 426.77 173 T (should) 436.08 173 T (be) 470.74 173 T (possible) 484.71 173 T (for) 526.7 173 T (the) 543.34 173 T (ZIP) 108 159 T (file) 128.29 159 T (context) 146.57 159 T (and) 184.19 159 T (other) 203.81 159 T (similar) 230.76 159 T (contexts) 266.38 159 T (to) 308.67 159 T (federate) 320.29 159 T (beneath) 361.22 159 T (other,) 400.83 159 T (non-file) 430.78 159 T (system) 471.06 159 T (namespac-) 506.69 159 T (es.) 108 145 T (Furthermore,) 124.21 145 T (developers) 190.42 145 T (writing) 245.62 145 T (the) 283.5 145 T (file) 301.38 145 T (system) 320.59 145 T (context) 357.14 145 T (implementation) 395.69 145 T (and) 474.24 145 T (those) 494.78 145 T (writing) 523.33 145 T (the) 108 131 T (context) 125.63 131 T (implementations) 163.92 131 T (for) 246.88 131 T (the) 263.84 131 T (ZIP) 281.46 131 T (file) 302.43 131 T (context,) 321.39 131 T (the) 362.68 131 T (tar) 380.3 131 T (file) 395.92 131 T (context,) 414.88 131 T (or) 456.17 131 T (a) 469.13 131 T (context) 477.42 131 T (for) 515.71 131 T (some) 532.67 131 T (yet-to-be defined format, should be able to work independently.) 108 117 T (To) 108 97 T (support) 123.86 97 T (this) 162.38 97 T (type) 182.25 97 T (of) 205.44 97 T (federation,) 217.96 97 T (JNDI) 272.14 97 T (defines) 300.65 97 T (a) 337.84 97 T (special) 345.69 97 T (form) 381.54 97 T (of) 407.39 97 T 4 10 Q (Reference) 419.92 97 T 2 12 Q (called) 476.44 97 T (an) 507.62 97 T 0 F (nns) 521.48 97 T (ref-) 540.67 97 T 54 241/G3.1003788 FmPA (erence) 108 83 T 2 F (\050\322nns\323) 142.37 83 T (stands) 176.07 83 T (for) 208.46 83 T (\322next) 224.84 83 T (naming) 253.21 83 T (system\323\051.) 291.6 83 T (This) 339.65 83 T 4 10 Q (Reference) 363.37 83 T 2 12 Q (has) 419.76 83 T (an) 438.14 83 T (address) 451.85 83 T (with) 490.23 83 T (type) 513.95 83 T 4 10 Q (nns) 537 83 T 2 12 Q (.) 555 83 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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (The) 108 712 T (address) 130.43 712 T (contents) 170.18 712 T (is) 213.94 712 T (the) 225.71 712 T (resolved) 244.14 712 T (object) 288.57 712 T (\050in) 321.66 712 T (the) 338.76 712 T (above) 357.19 712 T (example,) 389.61 712 T (the) 437.03 712 T (ZIP) 455.46 712 T (file\051.) 477.23 712 T (Continuing) 503.99 712 T (with) 108 698 T (the) 132.27 698 T (file) 149.87 698 T (system) 168.79 698 T (example,) 205.06 698 T (the) 251.65 698 T (file) 269.25 698 T (system) 288.17 698 T (context) 324.44 698 T (implementation) 362.7 698 T (might) 440.97 698 T (create) 471.91 698 T (the) 503.49 698 T (nns) 521.08 698 T (ref-) 540.68 698 T (erence as follows:) 108 684 T 4 10 Q ( RefAddr addr = new RefAddr\050"nns"\051 {) 140.4 665.33 T 54 809/G3.1003792 FmPA (public Object getContent\050\051 {) 165.6 653.33 T 54 797/G3.1003793 FmPA (return theFile;) 190.8 641.33 T 54 785/G3.1003794 FmPA (}) 165.6 629.33 T 54 773/G3.1003795 FmPA (};) 140.4 617.33 T 54 761/G3.1003796 FmPA (Reference ref = new Reference\050"java.io.File", addr\051;) 140.4 605.33 T 54 749/G3.1003797 FmPA 2 12 Q (Next,) 108 586 T (the) 136.63 586 T (context) 153.6 586 T (implementation) 191.23 586 T (constructs) 268.87 586 T (a) 319.83 586 T 4 10 Q (CannotProceedException) 327.46 586 T 2 12 Q (\050as) 461.76 586 T (with) 478.06 586 T (the) 501.7 586 T (junction) 518.66 586 T 54 730/G3.1003799 FmPA (case\051) 108 572 T (by) 135.84 572 T (using) 151.04 572 T (the) 180.24 572 T (nns) 198.09 572 T (reference) 217.96 572 T (as) 265.78 572 T (the) 278.97 572 T (resolved) 296.83 572 T (object,) 340.68 572 T (and) 376.2 572 T (a) 396.72 572 T (resolved) 405.24 572 T (name) 449.09 572 T (consisting) 478.28 572 T (of) 530.15 572 T (the) 543.34 572 T (resolved) 108 558 T (file) 150.99 558 T (name) 169.33 558 T (and) 197.65 558 T (an) 217.32 558 T (empty) 230.98 558 T (component.) 263.32 558 T (The) 321.98 558 T (empty) 342.98 558 T (component) 375.32 558 T (is) 430.98 558 T (being) 441.32 558 T (used) 470.33 558 T (as) 494.66 558 T (an) 506.99 558 T (implicit) 520.66 558 T (next) 108 544 T (naming) 131.87 544 T (system) 171.07 544 T (pointer) 207.61 544 T (and) 244.81 544 T (indicates) 265.34 544 T (that) 311.21 544 T (the) 332.41 544 T (resolution) 350.28 544 T (has) 401.48 544 T (succeeded) 420.68 544 T (to) 473.2 544 T (the) 485.73 544 T (point) 503.6 544 T (of) 531.48 544 T (re-) 544.68 544 T (solving) 108 530 T (the) 147.08 530 T (next) 165.49 530 T (naming) 189.9 530 T (system.) 229.64 530 T (\050Notice) 269.71 530 T (how) 309.45 530 T (the) 333.85 530 T (values) 352.26 530 T (of) 386.66 530 T (the) 400.4 530 T (resolved) 418.8 530 T (object) 463.2 530 T (and) 496.27 530 T (resolved) 517.34 530 T (name) 108 516 T (are) 136.5 516 T (matched.\051) 153.65 516 T (The) 203.81 516 T (context) 224.98 516 T (implementation) 262.81 516 T (then) 340.65 516 T (passes) 363.82 516 T (the) 396.99 516 T 4 10 Q (CannotProceedException) 414.16 516 T 2 12 Q (to) 548.66 516 T 4 10 Q (getContinuationContext\050\051) 108 502 T 2 12 Q (.) 252 502 T (As) 108 482 T (with) 125.63 482 T (any) 151.26 482 T (resolved) 172.88 482 T (object) 217.83 482 T (in) 251.45 482 T (a) 265.08 482 T 4 10 Q (CannotProceedException) 274.7 482 T 2 12 Q (,) 406.7 482 T 4 10 Q (getContinuationContext\050\051) 414 482 T 54 626/G3.1004057 FmPA 2 12 Q (searches) 108 468 T (for) 151.48 468 T (a) 168.32 468 T (context) 176.49 468 T (implementation) 214.65 468 T (that) 292.83 468 T (accepts) 313.67 468 T (this) 351.83 468 T (nns) 372.01 468 T (reference.) 391.52 468 T (The) 441.98 468 T (ZIP) 463.49 468 T (file) 484.33 468 T (context) 503.16 468 T (im-) 541.33 468 T (plementation,) 108 454 T (for) 176.2 454 T (instance,) 192.73 454 T (might) 237.59 454 T (accept) 268.13 454 T (an) 301.32 454 T (nns) 315.18 454 T (reference) 334.38 454 T (and) 381.55 454 T (other) 401.41 454 T (information) 428.61 454 T (provided,) 487.81 454 T (such) 536 454 T (as) 108 440 T (the) 121.27 440 T (name) 139.2 440 T (of) 168.47 440 T (the) 181.74 440 T (file) 199.67 440 T (\050relative) 218.94 440 T (to) 262.2 440 T (a) 274.8 440 T (given) 283.4 440 T (context\051.) 313.34 440 T (If) 358.94 440 T (the) 370.2 440 T (context) 388.14 440 T (implementation) 426.74 440 T (determines) 505.34 440 T (that) 108 426 T (the) 128.89 426 T (file) 146.45 426 T (is) 165.33 426 T (a) 176.23 426 T (ZIP) 184.45 426 T (file,) 205.34 426 T (it) 227.23 426 T (would) 236.79 426 T (then) 269.68 426 T (construct) 293.24 426 T (a) 340.12 426 T (context) 348.34 426 T (for) 386.56 426 T (resolving) 403.44 426 T (names) 451 426 T (within) 484.55 426 T (that) 518.11 426 T (file.) 539 426 T 3 F (2.5.7) 66 403 T (More about CannotProceedException) 108 403 T 54 547/G3.1004102 FmPA 2 F (Central) 108 383 T (to) 148.51 383 T (the) 163.04 383 T (JNDI) 182.89 383 T (SPI\325s) 214.07 383 T (framework) 245.26 383 T (for) 303.09 383 T (federation) 322.27 383 T (is) 376.11 383 T (the) 389.3 383 T 4 10 Q (CannotProceedException) 409.15 383 T 2 12 Q (.) 541.15 383 T (A) 549.34 383 T 54 527/G3.1004152 FmPA 4 10 Q (Cannot) 108 369 T (ProceedException) 144 369 T 2 12 Q (contains) 242.3 369 T (information) 284.6 369 T (such) 343.57 369 T (as) 367.87 369 T (the) 380.17 369 T (resolved) 397.13 369 T (name/object) 440.09 369 T (and) 501.05 369 T (remain-) 520.68 369 T (ing) 108 355 T (name,) 126.24 355 T (inherited) 158.14 355 T (from) 203.7 355 T (the) 229.93 355 T 4 10 Q (NamingException) 247.5 355 T 2 12 Q (superclass.) 340.4 355 T (In) 395.63 355 T (addition,) 408.53 355 T (a) 453.77 355 T 4 10 Q (CannotProceedEx-) 462 355 T (ception) 108 341 T 2 12 Q (also) 153.98 341 T (contains) 177.3 341 T (fields) 221.27 341 T (for) 251.92 341 T (the) 269.89 341 T (\322alt\323) 288.54 341 T (name) 315.18 341 T (and) 345.15 341 T (\322alt\323) 366.46 341 T (name) 393.1 341 T (context.) 423.08 341 T (While) 465.39 341 T (the) 498.7 341 T (resolved) 517.34 341 T (name) 108 327 T (from) 136.57 327 T 4 10 Q (NamingException) 162.47 327 T 2 12 Q (is) 255.04 327 T (the) 265.62 327 T (full) 282.86 327 T (composite) 302.11 327 T (name) 354.01 327 T (\050relative) 382.58 327 T (to) 425.14 327 T (the) 437.05 327 T (starting) 454.29 327 T (context) 492.86 327 T (of) 530.77 327 T (the) 543.34 327 T (operation\051,) 108 313 T (alt) 164.26 313 T (name) 180.2 313 T (is) 210.14 313 T (the) 222.08 313 T (resolved) 240.69 313 T (name) 285.29 313 T (relative) 315.22 313 T (to) 355.15 313 T (the) 368.43 313 T (alt) 387.04 313 T (name) 402.98 313 T (context.) 432.91 313 T (That) 475.18 313 T (is,) 501.12 313 T (alt) 516.07 313 T (name) 532.01 313 T (might) 108 299 T (not) 138.35 299 T (necessarily) 156.02 299 T (be) 211.68 299 T (the) 225.34 299 T (same) 242.35 299 T (as) 269.34 299 T (the) 281.68 299 T (resolved) 298.68 299 T (name.) 341.67 299 T (Alt) 373.01 299 T (name) 390.68 299 T (and) 419.01 299 T (alt) 438.68 299 T (name) 453.02 299 T (context) 481.35 299 T (are) 519.01 299 T (used) 536 299 T (as) 108 285 T (arguments) 120.39 285 T (to) 172.77 285 T 4 10 Q (NamingManager) 184.5 285 T 2 12 Q (/) 262.5 285 T 4 10 Q (DirectoryManager.getObjectInstance\050\051) 265.84 285 T 2 12 Q (.) 481.84 285 T (They) 487.23 285 T (allow) 514.28 285 T (the) 543.34 285 T (factories) 108 271 T (that) 152.89 271 T (are) 174.47 271 T (called) 192.7 271 T (by) 224.93 271 T (this) 240.5 271 T (method) 261.42 271 T (to) 301 271 T (obtain) 313.91 271 T (more) 347.48 271 T (information) 375.72 271 T (about) 435.96 271 T (the) 466.2 271 T (resolved) 484.44 271 T (object) 528.67 271 T (\050for) 108 257 T (example,) 129.54 257 T (it) 176.74 257 T (could) 186.96 257 T (be) 217.17 257 T (used) 232.05 257 T (to) 257.59 257 T (get) 270.48 257 T (a) 288.69 257 T (special) 297.57 257 T (attribute) 334.44 257 T (about) 377.98 257 T (the) 408.2 257 T (object\051.) 426.41 257 T (These) 466.28 257 T (factories) 498.48 257 T (are) 543.35 257 T (described in Chapter 4.) 108 243 T 3 F (2.5.8) 66 220 T (Contextual Information) 108 220 T 54 364/G3.1004188 FmPA 2 F (While) 108 200 T (the) 140.21 200 T (emphasis) 157.75 200 T (of) 205.29 200 T (the) 218.17 200 T (JNDI) 235.71 200 T (SPI) 264.58 200 T (framework) 284.8 200 T (is) 340.33 200 T (on) 351.21 200 T (\322looking) 366.09 200 T (forward\323) 410.97 200 T (and) 457.15 200 T (trying) 477.36 200 T (to) 508.91 200 T (find) 521.12 200 T (the) 543.34 200 T 54 344/G3.1004185 FmPA (next) 108 186 T (naming) 131.26 186 T (system,) 169.85 186 T (some) 208.78 186 T (context) 236.71 186 T (implementations,) 274.63 186 T (once) 360.23 186 T (located,) 385.48 186 T (need) 425.73 186 T (to) 450.98 186 T (\322look) 462.92 186 T (back\323) 492.17 186 T (the) 522.75 186 T (res-) 540.01 186 T (olution) 108 172 T (chain) 145.04 172 T (to) 174.07 172 T (obtain) 186.44 172 T (contextual) 219.48 172 T (information.) 272.5 172 T (For) 335.2 172 T (example,) 354.9 172 T (a) 401.6 172 T (particular) 409.96 172 T (context) 458.98 172 T (implementa-) 497.34 172 T (tion) 108 158 T (that) 129.81 158 T (is) 150.95 158 T (federated) 162.1 158 T (off) 209.88 158 T (of) 227.01 158 T (a) 240.14 158 T (host) 248.61 158 T (naming) 271.75 158 T (system) 310.89 158 T (might) 347.37 158 T (be) 378.52 158 T (designed) 392.98 158 T (such) 438.79 158 T (that) 463.92 158 T (the) 485.06 158 T (only) 502.86 158 T (means) 527.34 158 T (by) 108 144 T (which) 122.5 144 T (it) 154.33 144 T (can) 163.5 144 T (find) 182.66 144 T (out) 204.49 144 T (host) 222.33 144 T (information) 244.83 144 T (is) 304 144 T (to) 314.5 144 T (ask) 326.34 144 T (its) 344.83 144 T (\050possibly) 358.67 144 T (not) 405.18 144 T (immediate\051) 423.02 144 T (superior) 480.17 144 T (naming) 522 144 T (system.) 108 130 T (To) 146.67 130 T (do) 162.34 130 T (that,) 176.67 130 T (it) 200.01 130 T (needs) 209.01 130 T 0 F (contextual) 238.67 130 T (information) 291 130 T 2 F (\321information) 347.68 130 T (about) 418.68 130 T (how) 447.67 130 T (the) 470.67 130 T (resolution) 487.67 130 T (pro-) 538.01 130 T (ceeded to its current point.) 108 116 T (Summarizing) 108 96 T (earlier) 175.87 96 T (discussions) 209.72 96 T (on) 267.59 96 T (federation,) 282.79 96 T (when) 337.64 96 T (performing) 366.83 96 T (an) 424.02 96 T (operation) 438.55 96 T (on) 487.08 96 T (a) 502.28 96 T (name) 510.81 96 T (that) 540 96 T 54 240/G3.1004257 FmPA (spans) 108 82 T (multiple) 139.15 82 T (namespaces,) 183.64 82 T (the) 248.44 82 T (context) 267.59 82 T (implementation) 307.4 82 T (first) 387.22 82 T (constructs) 411.04 82 T (a) 464.19 82 T 4 10 Q (CannotProceed-) 474 82 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.13/DEST FmPD2 [/Rect[171 239 220 252]/Border[0 0 0]/Page 30/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 (Exception) 108 712 T 2 12 Q (containing) 164.7 712 T (information) 218.06 712 T (pinpointing) 277.42 712 T (how) 335.46 712 T (far) 358.82 712 T (it) 374.83 712 T (has) 384.2 712 T (proceeded.) 402.89 712 T (It) 457.9 712 T (then) 467.93 712 T (obtains) 491.29 712 T (a) 528.65 712 T (con-) 536.68 712 T (tinuation) 108 698 T (context) 153.38 698 T (from) 191.41 698 T (JNDI) 217.44 698 T (by) 246.13 698 T (calling) 260.84 698 T 4 10 Q (getContinuationContext\050\051) 296.2 698 T 2 12 Q (.) 440.2 698 T (To) 445.91 698 T (support) 461.95 698 T (the) 500.65 698 T (retrieval) 518.02 698 T (of) 108 684 T (contextual) 121.38 684 T (information,) 174.76 684 T 4 10 Q (getContinuationContext\050\051) 237.81 684 T 2 12 Q (automatically) 385.2 684 T (adds) 453.91 684 T (the) 479.29 684 T (environment) 497.34 684 T (property) 108 670 T 4 10 Q (java.naming.spi.CannotProceedException) 155.76 670 T 2 12 Q (,) 383.76 670 T (with) 393.85 670 T (the) 422.29 670 T (value) 444.05 670 T (of) 477.14 670 T (the) 494.24 670 T 4 10 Q (Cannot-) 516 670 T (ProceedException) 108 656 T 2 12 Q (argument,) 207.07 656 T (to) 258.46 656 T (the) 270.87 656 T (continuation) 288.6 656 T (context\325s) 351.67 656 T (environment.) 398.73 656 T (This) 465.46 656 T (property) 489.87 656 T (is) 533.59 656 T (in-) 544.67 656 T (herited) 108 642 T (by) 146.3 642 T (the) 163.28 642 T (continuation) 182.92 642 T (context) 247.9 642 T (and) 288.2 642 T (may) 310.51 642 T (be) 336.15 642 T (used) 352.45 642 T (by) 379.43 642 T (that) 396.4 642 T (context\325s) 419.38 642 T (implementation) 468.35 642 T (to) 548.66 642 T (inspect the fields of the exception.) 108 628 T 3 14 Q (2.6) 72.5 600.67 T (Referral Support) 108 600.67 T 54 745/G3.1002999 FmPA 2 12 Q (LDAP-style) 108 580 T (directory) 168.95 580 T (services) 215.22 580 T (support) 256.82 580 T (the) 295.77 580 T (notion) 313.39 580 T (of) 347.01 580 T 0 F (referrals) 359.96 580 T 2 F (for) 404.91 580 T (redirecting) 421.85 580 T (a) 476.79 580 T (client\325s) 485.07 580 T (request) 523.34 580 T 54 724/G3.1003000 FmPA (to) 108 566 T (another) 119.93 566 T (server.) 158.51 566 T (A) 193.43 566 T (referral) 204.68 566 T (differs) 242.58 566 T (from) 276.5 566 T (the) 302.42 566 T (federation) 319.68 566 T (continuation) 370.92 566 T (mechanism) 433.52 566 T (described) 490.77 566 T (ear-) 539.35 566 T (lier) 108 552 T (in) 127.04 552 T (that) 139.42 552 T (a) 160.47 552 T (referral) 168.84 552 T (may) 207.19 552 T (be) 230.9 552 T (presented) 245.27 552 T (to) 294.3 552 T (the) 306.68 552 T (JNDI) 324.39 552 T (client,) 353.43 552 T (who) 386.14 552 T (then) 409.85 552 T (decides) 433.56 552 T (whether) 472.59 552 T (to) 514.29 552 T (follow) 526.67 552 T (it,) 108 538 T (whereas) 120.57 538 T (a) 162.79 538 T 4 10 Q (CannotProceedException) 171.02 538 T 2 12 Q (should) 305.92 538 T (be) 340.83 538 T (returned) 355.06 538 T (to) 397.94 538 T (the) 410.18 538 T (client) 427.75 538 T (only) 457.31 538 T (when) 481.55 538 T (no) 510.45 538 T (further) 525.35 538 T (progress) 108 524 T (is) 151.3 524 T (possible.) 161.95 524 T (Another) 206.93 524 T (difference) 248.9 524 T (is) 300.18 524 T (that) 310.82 524 T (an) 331.47 524 T (individual) 345.44 524 T (context) 396.76 524 T (implementation) 434.73 524 T (offers) 512.71 524 T (the) 543.34 524 T (capability) 108 510 T (of) 158.5 510 T (continuing) 171.67 510 T (the) 226.18 510 T (operation) 244.02 510 T (using) 292.51 510 T (the) 321.69 510 T (referral) 339.53 510 T (\050and) 378 510 T (itself) 402.5 510 T (determines) 429.67 510 T (the) 485.5 510 T (mechanism) 503.34 510 T (for) 108 496 T (doing) 124.71 496 T (so\051.) 154.76 496 T (In) 175.14 496 T (a) 187.85 496 T (federation,) 195.89 496 T (the) 250.26 496 T (mechanism) 267.63 496 T (of) 325.01 496 T (continuation) 337.72 496 T (is) 400.44 496 T (beyond) 411.15 496 T (the) 449.2 496 T (scope) 466.58 496 T (of) 496.62 496 T (individual) 509.33 496 T (context) 108 482 T (implementations:) 146.15 482 T (individual) 232.3 482 T (context) 283.8 482 T (implementations) 321.94 482 T (benefit) 404.77 482 T (from) 440.91 482 T (the) 467.05 482 T (common) 484.54 482 T (feder-) 529.36 482 T (ation mechanism provided by the JNDI SPI framework.) 108 468 T (A) 108 448 T (context) 120.67 448 T (implementation) 160 448 T (that) 239.35 448 T (supports) 261.35 448 T (referrals) 306.02 448 T (defines) 350 448 T (a) 388.66 448 T (subclass) 398 448 T (of) 442 448 T 4 10 Q (ReferralException) 456 448 T 54 592/G3.1003001 FmPA 2 12 Q (and) 108 434 T (provides) 127.83 434 T (implementations) 171.66 434 T (for) 254.17 434 T (its) 270.67 434 T (abstract) 284.51 434 T (methods.) 324.34 434 T 4 10 Q (getReferralContext\050\051) 370.51 434 T 2 12 Q (returns) 493.02 434 T (a) 528.84 434 T (con-) 536.68 434 T (text) 108 420 T (at) 128.65 420 T (which) 139.96 420 T (to) 171.93 420 T (carry) 183.91 420 T (on) 211.21 420 T (the) 225.85 420 T (operation,) 243.16 420 T (and) 294.14 420 T 4 10 Q (getReferralInfo\050\051) 314.11 420 T 2 12 Q (returns) 418.76 420 T (information) 454.73 420 T (on) 514.04 420 T (where) 528.68 420 T (the referral leads to, in a format appropriate to the context implementation.) 108 406 T (The) 108 386 T (environment) 129.41 386 T (property) 192.83 386 T 4 10 Q (java.naming.referral) 236.24 386 T 2 12 Q (specifies) 359 386 T (how) 403.74 386 T (the) 427.16 386 T (context) 444.58 386 T (implementation) 482.66 386 T 54 530/G3.1003002 FmPA (should) 108 372 T (treat) 143.01 372 T (referrals.) 167.34 372 T (If) 213.32 372 T (the) 224.32 372 T (context) 241.99 372 T (implementation) 280.32 372 T (is) 358.67 372 T (asked) 369.67 372 T (to) 400.01 372 T (throw) 412.35 372 T (an) 443.35 372 T (exception) 457.68 372 T (when) 507.35 372 T (a) 536.34 372 T (re-) 544.68 372 T (ferral) 108 358 T (is) 137.02 358 T (encountered,) 148.06 358 T (or) 212.74 358 T (if) 225.77 358 T (the) 236.14 358 T (context) 253.84 358 T (implementation) 292.2 358 T (encounters) 370.57 358 T (problems) 425.59 358 T (following) 473.29 358 T (a) 523 358 T (refer-) 531.36 358 T (ral,) 108 344 T (it) 129.91 344 T (throws) 142.84 344 T (a) 181.76 344 T 4 10 Q (ReferralException) 193.34 344 T 2 12 Q (to) 301.59 344 T (the) 317.18 344 T (application.) 338.1 344 T (To) 400.68 344 T (continue) 420.26 344 T (the) 467.84 344 T (operation,) 488.76 344 T (the) 543.34 344 T (application) 108 330 T (re-invokes) 164.05 330 T (the) 217.43 330 T (method) 234.81 330 T (on) 273.54 330 T (the) 288.26 330 T (referral) 305.65 330 T (context) 343.67 330 T (using) 381.73 330 T (the) 410.45 330 T (same) 427.84 330 T (arguments) 455.22 330 T (it) 507.94 330 T (supplied) 517.33 330 T (to) 108 316 T (the) 120.92 316 T (original) 139.17 316 T (method.) 180.09 316 T (The) 222.68 316 T (following) 244.92 316 T (code) 295.18 316 T (sample) 321.42 316 T (shows) 359 316 T (how) 392.59 316 T 4 10 Q (ReferralException) 416.84 316 T 2 12 Q (may) 522.42 316 T (be) 546.67 316 T (used by an application:) 108 298.8 T 2 9.6 Q (1) 218.99 303.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 (Note) 84 89.33 T (that) 105.89 89.33 T (this) 123.35 89.33 T (is) 140.25 89.33 T (code) 149.37 89.33 T (in) 170.71 89.33 T (the) 180.94 89.33 T 0 F (application) 195.61 89.33 T 2 F (.) 241.17 89.33 T (In) 246.12 89.33 T (\322Continuing) 256.91 89.33 T (an) 308.81 89.33 T (Operation) 320.7 89.33 T (in) 363.15 89.33 T (a) 373.38 89.33 T (Federation\323,) 380.27 89.33 T (the) 432.44 89.33 T (code) 447.11 89.33 T (sample) 468.44 89.33 T (presented) 499.23 89.33 T 54 233/G3.1003008 FmPA (is code in the) 84 77.33 T 0 F (conte) 139.55 77.33 T (xt implementation) 161.01 77.33 T 2 F (.) 232.95 77.33 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.14/DEST FmPD2 108 754/M3.9.32878.chapter.6.Overview.of.the.Interface FmPA 108 754/I3.1.1003667 FmPA [/Rect[260 85 430 96]/Border[0 0 0]/Page 15/View[/XYZ null 108 619 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 4 F 0 X (while \050true\051 {) 140.4 713.33 T 54 857/G3.1003009 FmPA (try {) 165.6 701.33 T 54 845/G3.1003010 FmPA (bindings = ctx.listBindings\050name\051;) 190.8 689.33 T 54 833/G3.1003011 FmPA (while \050bindings.hasMore\050\051\051 {) 190.8 677.33 T 54 821/G3.1003012 FmPA (b = \050Binding\051 bindings.next\050\051;) 216 665.33 T 54 809/G3.1003013 FmPA (...) 216 653.33 T 54 797/G3.1003014 FmPA (}) 190.8 641.33 T 54 785/G3.1003015 FmPA (break;) 190.8 629.33 T 54 773/G3.1003016 FmPA (} catch \050ReferralException e\051 {) 165.6 617.33 T 54 761/G3.1003017 FmPA (ctx = e.getReferralContext\050\051;) 190.8 605.33 T 54 749/G3.1003018 FmPA (}) 165.6 593.33 T 54 737/G3.1003019 FmPA (}) 140.4 581.33 T 54 725/G3.1003020 FmPA 2 12 Q (This) 108 562 T (convention) 131.92 562 T (of) 187.83 562 T (re-invoking) 200.4 562 T (the) 258.98 562 T (method) 276.22 562 T (using) 314.8 562 T (the) 343.39 562 T (original) 360.63 562 T (arguments) 400.54 562 T (is) 453.12 562 T (a) 463.7 562 T (simple) 471.61 562 T (one) 506.19 562 T (for) 526.1 562 T (ap-) 542.67 562 T 54 706/G3.1003021 FmPA (plications) 108 548 T (to) 157.31 548 T (follow.) 169.29 548 T (This) 206.26 548 T (places) 230.24 548 T (the) 262.86 548 T (burden) 280.17 548 T (on) 316.14 548 T (the) 330.78 548 T (implementation) 348.08 548 T (of) 426.06 548 T (the) 438.7 548 T 4 10 Q (ReferralException) 456 548 T 2 12 Q (to) 108 534 T (supply) 120.1 534 T (enough) 154.87 534 T (information) 192.97 534 T (to) 252.4 534 T (the) 264.5 534 T (implementation) 281.93 534 T (of) 360.03 534 T (the) 372.79 534 T (referral) 390.22 534 T (context) 428.29 534 T (for) 466.39 534 T (the) 483.14 534 T (operation) 500.57 534 T (to) 548.66 534 T (be) 108 520 T (continued.) 122.33 520 T (Note) 175.66 520 T (that) 202 520 T (this) 223 520 T (will) 243.34 520 T (likely) 265.02 520 T (render) 295.36 520 T (some) 329.01 520 T (of) 357.35 520 T (the) 370.35 520 T (arguments) 388.02 520 T (passed) 441.01 520 T (to) 476.01 520 T (the) 488.35 520 T (re-invoked) 506.02 520 T (operation) 108 506 T (superfluous.) 156.58 506 T (The) 218.83 506 T (referral) 240.75 506 T (context) 279.31 506 T (implementation) 317.9 506 T (is) 396.49 506 T (free) 407.75 506 T (to) 429.66 506 T (ignore) 442.25 506 T (any) 476.17 506 T (redundant) 496.76 506 T (or) 548 506 T (unneeded information.) 108 492 T (It) 108 472 T (is) 119.54 472 T (possible) 131.76 472 T (for) 175.31 472 T (an) 193.51 472 T (operation) 209.06 472 T (to) 258.59 472 T (return) 272.14 472 T (results) 305.01 472 T (in) 340.55 472 T (addition) 354.1 472 T (to) 397.65 472 T (a) 411.2 472 T (referral.) 420.74 472 T (For) 463.26 472 T (example,) 484.14 472 T (when) 532.01 472 T 54 616/G3.1003022 FmPA (searching) 108 458 T (a) 157.35 458 T (context,) 166.03 458 T (the) 207.72 458 T (server) 225.75 458 T (might) 258.42 458 T (return) 289.79 458 T (several) 321.81 458 T (results) 359.15 458 T (in) 393.85 458 T (addition) 406.54 458 T (to) 449.24 458 T (a) 461.94 458 T (few) 470.63 458 T (referrals) 491.97 458 T (as) 535.31 458 T (to) 548.66 458 T (where) 108 444 T (to) 140.25 444 T (obtain) 152.52 444 T (further) 185.46 444 T (results.) 221.05 444 T (These) 258.31 444 T (results) 289.91 444 T (and) 324.17 444 T (referrals) 344.44 444 T (might) 387.35 444 T (be) 418.29 444 T (interleaved) 432.55 444 T (at) 488.8 444 T (the) 500.4 444 T (protocol) 518 444 T (level.) 108 430 T (If) 137.42 430 T (referrals) 148.5 430 T (require) 191.57 430 T (user) 228.64 430 T (interaction) 251.73 430 T (\050i.e.,) 306.14 430 T (not) 330.9 430 T (followed) 349.32 430 T (automatically\051,) 395.08 430 T (the) 470.49 430 T (context) 488.25 430 T (imple-) 526.67 430 T (mentation) 108 416 T (should) 158.54 416 T (return) 193.09 416 T (the) 224.29 416 T (results) 241.5 416 T (through) 275.38 416 T (the) 315.25 416 T (search) 332.46 416 T (enumeration) 365.65 416 T (first.) 428.18 416 T (When) 453.06 416 T (the) 484.26 416 T (results) 501.47 416 T (have) 535.34 416 T (been) 108 402 T (returned,) 134.25 402 T (the) 180.83 402 T (referral) 199.1 402 T (exception) 238 402 T (can) 288.25 402 T (then) 308.5 402 T (be) 332.76 402 T (thrown.) 347.69 402 T (This) 388.28 402 T (allows) 413.22 402 T (a) 448.14 402 T (simple) 457.07 402 T (programming) 492.67 402 T (model) 108 388 T (to) 141.17 388 T (be) 153.68 388 T (used) 168.18 388 T (when) 193.35 388 T (presenting) 222.52 388 T (the) 275.68 388 T (user) 293.52 388 T (with) 316.69 388 T (a) 341.2 388 T (clear) 349.7 388 T (relationship) 376.19 388 T (between) 436.02 388 T (a) 479.18 388 T (referral) 487.68 388 T (and) 526.16 388 T (its) 546.66 388 T (set of results.) 108 374 T 3 14 Q (2.7) 72.5 346.67 T (Schema Support) 108 346.67 T 54 491/G3.1003028 FmPA 2 12 Q (JNDI) 108 326 T (defines) 136.95 326 T (the) 174.56 326 T 4 10 Q (Attribute) 192.18 326 T 2 12 Q (interface) 249.14 326 T (for) 294.07 326 T (representing) 311.02 326 T (an) 373.29 326 T (attribute) 387.58 326 T (in) 430.53 326 T (a) 442.82 326 T (directory.) 451.11 326 T (An) 500.38 326 T (attribute) 518 326 T 54 470/G3.1003029 FmPA (consists) 108 312 T (of) 148.5 312 T (an) 160.99 312 T (attribute) 174.81 312 T (identifier) 217.3 312 T (\050a) 263.79 312 T (string\051) 275.61 312 T (and) 309.44 312 T (a) 329.26 312 T (set) 337.09 312 T (of) 352.91 312 T (attribute) 365.4 312 T (values,) 407.89 312 T (which) 444.05 312 T (can) 475.87 312 T (be) 495.02 312 T (any) 508.85 312 T (object) 528.67 312 T (in) 108 298 T (the) 119.78 298 T (Java) 136.88 298 T (programming) 160.65 298 T (language.) 228.42 298 T (There) 277.18 298 T (are) 307.61 298 T (also) 324.7 298 T (methods) 346.47 298 T (defined) 389.58 298 T (in) 428.01 298 T 4 10 Q (Attribute) 439.79 298 T 2 12 Q (for) 496.23 298 T (obtaining) 512.66 298 T (the attribute\325s definition and syntax definition from the directory\325s schema.) 108 284 T 4 10 Q (public class Attribute {) 140.4 265.33 T 54 409/G3.1003030 FmPA (public) 165.6 253.33 T (DirContext) 206.7 253.33 T (getAttributeDefinition\050\051) 271.8 253.33 T (throws) 420.9 253.33 T (NamingException;) 462 253.33 T 54 397/G3.1003031 FmPA (public DirContext getAttributeSyntaxDefinition\050\051) 165.6 241.33 T 54 385/G3.1003032 FmPA (throws NamingException;) 190.8 229.33 T (...) 165.6 217.33 T 54 361/G3.1003033 FmPA (}) 140.4 205.33 T 54 349/G3.1003034 FmPA 2 12 Q (The) 108 186 T (utility) 130.24 186 T (class,) 162.5 186 T 4 10 Q (BasicAttribute) 192.4 186 T 2 12 Q (,) 276.4 186 T (does) 282.98 186 T (not) 308.55 186 T (provide) 327.47 186 T (useful) 367.71 186 T (implementations) 400.61 186 T (for) 484.2 186 T (these) 501.77 186 T (meth-) 530 186 T 54 330/G3.1003035 FmPA (ods.) 108 172 T (A) 130.76 172 T (directory) 142.51 172 T (context) 188.91 172 T (implementation) 227.33 172 T (that) 305.75 172 T (has) 326.84 172 T (support) 345.92 172 T (for) 385.01 172 T (such) 402.09 172 T (schema) 427.17 172 T (information) 466.24 172 T (should) 526 172 T (provide) 108 158 T (implementations) 147.16 158 T (of) 229.67 158 T 4 10 Q (Attribute) 242.17 158 T 2 12 Q (that) 298.67 158 T (implement) 319.17 158 T (these) 373.01 158 T (two) 400.17 158 T (methods) 420.67 158 T (based) 463.84 158 T (on) 493.67 158 T (its) 508.17 158 T (schema) 522.01 158 T (mechanisms,) 108 144 T (perhaps) 173 144 T (by) 212.99 144 T (subclassing) 227.66 144 T 4 10 Q (BasicAttribute) 285.67 144 T 2 12 Q (and) 372.34 144 T (overriding) 392.33 144 T (these) 445 144 T (two) 472.33 144 T (methods.) 493 144 T (The) 539.34 144 T (context) 108 130 T (implementation) 146.5 130 T (should) 225.01 130 T (then) 260.18 130 T (return) 284.02 130 T (instances) 315.85 130 T (of) 363.01 130 T (these) 376.18 130 T (subclasses) 404.01 130 T (when) 457.18 130 T (asked) 486.34 130 T (to) 516.84 130 T (return) 529.34 130 T (instances) 108 116 T (of) 154.3 116 T 4 10 Q (Attribute) 166.61 116 T 2 12 Q (.) 220.61 116 T (The) 230.55 116 T (context) 251.52 116 T (implementation,) 289.16 116 T (when) 369.81 116 T (it) 398.11 116 T (receives) 407.1 116 T (an) 448.72 116 T 4 10 Q (Attribute) 462.36 116 T 2 12 Q (instance) 518.68 116 T (that) 108 102 T (do) 128.8 102 T (not) 143.6 102 T (have) 161.73 102 T (meaningful) 187.19 102 T (implementations) 244.65 102 T (of) 327.45 102 T (these) 340.24 102 T (two) 367.7 102 T (methods,) 388.5 102 T (should) 434.97 102 T (use) 469.77 102 T (reasonable) 488.57 102 T (de-) 542.68 102 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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (faults) 108 712 T (to) 137.36 712 T (determine) 149.39 712 T (the) 200.07 712 T (attribute\325s) 217.43 712 T (definition) 268.79 712 T (and) 318.15 712 T (syntax,) 338.18 712 T (using) 375.2 712 T (information) 403.9 712 T (such) 463.26 712 T (as) 487.95 712 T (the) 500.64 712 T (attribute) 518 712 T (values\325 class names or conventions used for the attribute identifier.) 108 698 T (The) 108 678 T 4 10 Q (DirContext) 129.66 678 T 2 12 Q ( interface contains schema-related methods:) 189.66 678 T 54 822/G3.1003036 FmPA 4 10 Q (public class DirContext {) 140.4 659.33 T 54 803/G3.1003037 FmPA (...) 165.6 647.33 T 54 791/G3.1003038 FmPA (public DirContext getSchema\050Name name\051 throws NamingException;) 165.6 635.33 T 54 779/G3.1003039 FmPA (public DirContext getSchema\050String name\051 throws NamingException;) 165.6 623.33 T 54 767/G3.1003040 FmPA 54 755/G3.1003041 FmPA (public DirContext getSchemaClassDefinition\050Name name\051) 165.6 599.33 T 54 743/G3.1003042 FmPA (throws NamingException;) 190.8 587.33 T 54 731/G3.1003043 FmPA (public DirContext getSchemaClassDefinition\050String name\051) 165.6 575.33 T 54 719/G3.1003044 FmPA (throws NamingException;) 190.8 563.33 T 54 707/G3.1003045 FmPA 54 695/G3.1003046 FmPA (}) 140.4 539.33 T 54 683/G3.1003047 FmPA (getSchema\050\051) 108 520 T 2 12 Q (returns) 177.64 520 T (the) 214.6 520 T (schema) 232.91 520 T (tree) 272.53 520 T (for) 294.16 520 T (the) 311.79 520 T (named) 330.1 520 T (object,) 365.73 520 T (while) 401.7 520 T 4 10 Q (getSchemaClassDefini-) 432 520 T 54 664/G3.1003048 FmPA (tion\050\051) 108 506 T 2 12 Q (returns) 147.01 506 T (a) 183.33 506 T (context) 191.67 506 T (containing) 230 506 T (schema) 283.67 506 T (class) 322.66 506 T (definitions) 348.99 506 T (for) 403.33 506 T (the) 420.33 506 T (named) 438 506 T (object.) 472.99 506 T (Some) 508.33 506 T (sys-) 538.67 506 T (tems) 108 492 T (have) 133.17 492 T (just) 158.33 492 T (one) 178.18 492 T (global) 198.01 492 T (schema) 230.52 492 T (and,) 269.01 492 T (regardless) 291.84 492 T (of) 343 492 T (the) 355.5 492 T (value) 372.67 492 T (of) 401.16 492 T (the) 413.66 492 T 4 10 Q (name) 430.83 492 T 2 12 Q (argument,) 457.34 492 T (will) 508.17 492 T (return) 529.34 492 T (the) 108 478 T (same) 125.7 478 T (schema) 153.39 478 T (tree.) 192.41 478 T (Others) 216.44 478 T (support) 251.46 478 T (finer) 290.5 478 T (grained) 316.19 478 T (schema) 355.21 478 T (definitions,) 394.23 478 T (and) 451.6 478 T (may) 471.96 478 T (return) 495.66 478 T (differ-) 527.35 478 T (ent schema trees depending on which context is being examined.) 108 464 T 3 14 Q (2.8) 72.5 436.67 T (Event Support) 108 436.67 T 54 581/G3.1005769 FmPA 2 12 Q (A) 108 416 T (context) 121.27 416 T (implementation) 161.2 416 T (supports) 241.13 416 T (event) 286.4 416 T (notification) 317 416 T (by) 376.93 416 T (providing) 393.53 416 T (implementation) 444.8 416 T (for) 524.74 416 T (the) 543.34 416 T 54 560/G3.1005770 FmPA (methods) 108 402 T (in) 152.56 402 T (the) 165.79 402 T 4 10 Q (EventContext) 184.35 402 T 2 12 Q (/) 256.35 402 T 4 10 Q (EventDirContext) 259.69 402 T 2 12 Q (interfaces.) 353.58 402 T (The) 407.12 402 T (event) 429.68 402 T (model) 459.56 402 T (advocated) 493.46 402 T (by) 546 402 T (these) 108 388 T (interfaces) 136.47 388 T (can) 186.93 388 T (be) 207.4 388 T (readily) 222.54 388 T (supported) 259.68 388 T (using) 310.82 388 T (a) 340.64 388 T (multithreaded) 349.78 388 T (model.) 420.25 388 T (When) 457.06 388 T (an) 489.53 388 T (application) 504.67 388 T (uses) 108 374 T 4 10 Q (addNamingListener\050\051) 132.59 374 T 2 12 Q (to) 250.52 374 T (register) 263.79 374 T (a) 303.7 374 T (listener) 312.96 374 T (with) 352.22 374 T (a) 377.48 374 T (context,) 386.74 374 T (the) 428.99 374 T (context) 447.59 374 T (records) 486.84 374 T (the) 526.09 374 T (re-) 544.68 374 T (quests) 108 360 T (and) 140.41 360 T (takes) 160.15 360 T (action) 187.22 360 T (to) 218.96 360 T (collect) 230.71 360 T (information) 265.11 360 T (required) 324.19 360 T (to) 366.58 360 T (generate) 378.33 360 T (the) 421.38 360 T (events.) 438.46 360 T (When) 474.53 360 T (the) 505.6 360 T (context) 522.67 360 T (eventually) 108 346 T (receives) 161.66 346 T (information) 204.65 346 T (to) 264.99 346 T (generate) 277.99 346 T (the) 322.31 346 T (events,) 340.65 346 T (it) 377.98 346 T (fires) 388.33 346 T (the) 413.32 346 T (events) 431.66 346 T (to) 465.99 346 T (the) 479 346 T (listener.) 497.34 346 T (The) 539.34 346 T (thread) 108 332 T (that) 140.73 332 T (does) 161.46 332 T (the) 186.2 332 T (registration) 203.6 332 T (is) 261 332 T (typically) 271.74 332 T (different) 316.48 332 T (from) 360.54 332 T (the) 386.6 332 T (thread) 404 332 T (that) 436.73 332 T (runs) 457.47 332 T (the) 480.87 332 T (listener.) 498.27 332 T (The) 539.34 332 T (context) 108 318 T (implementation) 146.75 318 T (typically) 225.52 318 T (uses) 270.94 318 T (a) 295.03 318 T (thread) 303.79 318 T (that) 337.2 318 T (it) 358.63 318 T (has) 368.73 318 T (created) 388.15 318 T (and) 426.22 318 T (manages) 446.97 318 T (to) 492.39 318 T (run) 505.15 318 T (the) 524.57 318 T (lis-) 542.66 318 T (tener) 108 304 T (method.) 135.16 304 T (When) 177.33 304 T (one) 209.15 304 T (event) 229.65 304 T (is) 258.81 304 T (dispatched) 269.99 304 T (to) 324.48 304 T (multiple) 336.99 304 T (listeners,) 380.17 304 T (the) 426.33 304 T (context) 444.17 304 T (implementation) 482.66 304 T (may) 108 290 T (choose) 132.26 290 T (to) 169.18 290 T (\050and) 182.12 290 T (is) 207.04 290 T (generally) 218.64 290 T (encouraged\051) 266.89 290 T (to) 329.79 290 T (execute) 342.72 290 T (the) 382.97 290 T (listener) 401.23 290 T (methods) 440.15 290 T (concurrently) 484.42 290 T (in) 548.66 290 T (separate threads.) 108 276 T (The) 108 256 T 4 10 Q (addNamingListener\050\051) 131.15 256 T 2 12 Q (methods) 249.64 256 T (accept) 294.79 256 T (an) 329.93 256 T (instance) 345.74 256 T (of) 389.56 256 T 4 10 Q (NamingListener) 404.04 256 T 2 12 Q (.) 488.04 256 T (The) 495.53 256 T (instance) 518.68 256 T 54 400/G3.1005771 FmPA (might) 108 242 T (implement) 140.04 242 T (one) 195.41 242 T (or) 216.77 242 T (more) 230.8 242 T (subinterfaces) 259.5 242 T (of) 326.85 242 T 4 10 Q (NamingListener) 340.88 242 T 2 12 Q (.) 424.88 242 T (If) 431.91 242 T (the) 443.93 242 T (listener) 462.63 242 T (implements) 502 242 T (more) 108 228 T (than) 136.36 228 T (one) 160.73 228 T (subinterface,) 181.76 228 T (the) 247.1 228 T (context) 265.47 228 T (implementation) 304.5 228 T (should) 383.54 228 T (try) 419.24 228 T (to) 436.28 228 T (conserve) 449.32 228 T (resources) 495.67 228 T (re-) 544.68 228 T (quired) 108 214 T (to) 140.97 214 T (satisfy) 152.62 214 T (the) 186.27 214 T (registration.) 203.24 214 T (For) 263.22 214 T (example,) 282.2 214 T (an) 328.17 214 T (implementation) 341.81 214 T (might) 419.45 214 T (be) 449.78 214 T (able) 463.42 214 T (to) 485.72 214 T (submit) 497.37 214 T (a) 532.36 214 T (sin-) 540 214 T (gle request to the server that captures all of the requests of the subinterfaces.) 108 200 T (Where) 108 180 T (possible,) 142.38 180 T (the) 187.11 180 T (context) 204.17 180 T (implementation) 241.9 180 T (should) 319.63 180 T (fire) 354.04 180 T (a) 373.09 180 T 4 10 Q (NamingExceptionEvent) 380.81 180 T 2 12 Q (to) 503.21 180 T (a) 514.95 180 T (listener) 522.67 180 T 54 324/G3.1005772 FmPA (if) 108 166 T (the) 117.85 166 T (context) 135.03 166 T (will) 172.87 166 T (be) 194.06 166 T (unable) 207.91 166 T (to) 242.42 166 T (fire) 254.27 166 T (further) 273.44 166 T (events) 308.61 166 T (and) 341.79 166 T (then) 361.63 166 T (automatically) 384.81 166 T (deregister) 452.66 166 T (the) 502.49 166 T (listener.) 519.67 166 T (For) 108 152 T (example,) 127.69 152 T (if) 174.37 152 T (the) 184.73 152 T (connection) 202.42 152 T (to) 258.1 152 T (the) 270.46 152 T (server) 288.15 152 T (is) 320.49 152 T (broken) 331.52 152 T (subsequent) 367.87 152 T (to) 424.22 152 T (the) 436.58 152 T (registration) 454.27 152 T (of) 511.95 152 T (the) 524.97 152 T (lis-) 542.66 152 T (tener) 108 138 T (and) 136.06 138 T (no) 157.46 138 T (information) 173.53 138 T (will) 234.26 138 T (be) 257.01 138 T (available) 272.41 138 T (to) 319.8 138 T (fire) 333.21 138 T (events,) 353.93 138 T (the) 391.66 138 T (context) 410.4 138 T (should) 449.8 138 T (fire) 485.87 138 T (a) 506.6 138 T 4 10 Q (Naming-) 516 138 T (ExceptionEvent) 108 124 T 2 12 Q ( to the listener.) 192 124 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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 3 14 Q 0 X (2.9) 72.5 710.67 T (Context Environment Support) 108 710.67 T 54 855/G3.1002895 FmPA 2 12 Q (Each) 108 690 T (instance) 136.15 690 T (of) 179.63 690 T 4 10 Q (Context) 193.79 690 T 2 12 Q (\050or) 239.95 690 T (its) 258.11 690 T (subinterfaces\051) 273.61 690 T (can) 345.08 690 T (have) 365.89 690 T (associated) 392.71 690 T (with) 446.19 690 T (it) 471.69 690 T (an) 482.52 690 T 0 F (environment) 498.01 690 T 54 834/G3.1002896 FmPA 2 F (which) 108 676 T (contains) 140 676 T (preferences) 182.67 676 T (expressed) 240.64 676 T (by) 290.63 676 T (the) 305.3 676 T (application) 322.64 676 T (of) 378.64 676 T (how) 391.31 676 T (it) 414.65 676 T (would) 424 676 T (like) 456.67 676 T (to) 477.34 676 T (access) 489.35 676 T (the) 522.67 676 T (ser-) 540.01 676 T (vices) 108 662 T (offered) 135.71 662 T (by) 173.4 662 T (the) 188.46 662 T (context.) 206.17 662 T (Examples) 253.65 662 T (of) 304.03 662 T (information) 317.07 662 T (found) 376.79 662 T (in) 407.83 662 T (an) 420.22 662 T (environment) 434.6 662 T (are) 498.31 662 T (security-) 516.01 662 T (related) 108 648 T (information) 143.3 648 T (that) 202.61 648 T (specify) 223.26 648 T (the) 260.57 648 T (user\325s) 277.88 648 T (credentials) 309.18 648 T (and) 363.81 648 T (desired) 383.79 648 T (level) 421.09 648 T (of) 447.07 648 T (security) 459.71 648 T (\050) 500.36 648 T 4 10 Q (none) 504.35 648 T 2 12 Q (,) 528.35 648 T 4 10 Q (sim-) 534 648 T (ple) 108 634 T 2 12 Q (,) 126 634 T 4 10 Q (strong) 131.85 634 T 2 12 Q (\051,) 167.85 634 T (and) 177.7 634 T (configuration) 197.87 634 T (information,) 265.38 634 T (such) 327.89 634 T (as) 352.74 634 T (the) 365.58 634 T (server) 383.1 634 T (to) 415.26 634 T (use.) 427.45 634 T (See) 449.29 634 T (Chapter) 469.47 634 T (6) 510.31 634 T (and) 519.16 634 T (Ap-) 539.34 634 T (pendix A of the) 108 620 T 3 F (JNDI API) 185.99 620 T 2 F ( document for more details about environment properties.) 237.65 620 T (Environment) 108 600 T (properties) 173.85 600 T (are) 225.03 600 T (defined) 242.87 600 T (generically) 282.05 600 T (in) 338.55 600 T (order) 351.08 600 T (to) 379.58 600 T (ensure) 392.11 600 T (maximum) 426.62 600 T (portability.) 478.48 600 T (Indi-) 534.67 600 T 54 744/G3.1002897 FmPA (vidual) 108 586 T (service) 141.04 586 T (providers) 178.07 586 T (should) 226.43 586 T (map) 261.47 586 T (these) 285.18 586 T (generic) 312.88 586 T (properties) 351.23 586 T (to) 402.26 586 T (characteristics) 414.64 586 T (appropriate) 486.32 586 T (for) 544.01 586 T (their) 108 572 T (service.) 133.27 572 T (Properties) 173.53 572 T (that) 225.46 572 T (are) 246.73 572 T (not) 264.66 572 T (relevant) 283.27 572 T (to) 325.19 572 T (a) 337.8 572 T (provider) 346.4 572 T (should) 390.33 572 T (be) 425.61 572 T (recorded) 440.21 572 T (and) 485.45 572 T (silently) 506.05 572 T (ig-) 544.67 572 T (nored.) 108 558 T (The) 142.14 558 T (environment) 164.61 558 T (may) 229.09 558 T (also) 253.56 558 T (be) 276.71 558 T (used) 291.85 558 T (for) 317.66 558 T (storing) 335.47 558 T (service) 372.62 558 T (provider-specific) 410.42 558 T (properties) 496.2 558 T (or) 548 558 T (preferences, in which case their applicability across different providers is limited.) 108 544 T 3 F (2.9.1) 66 521 T (Property Naming Convention) 108 521 T 54 665/G3.1004358 FmPA 2 F (See) 108 501 T (Section) 128.88 501 T (6.1) 168.43 501 T (in) 186.98 501 T (the) 199.87 501 T 3 F (JNDI) 218.09 501 T (API) 249.64 501 T 2 F (document) 273.85 501 T (for) 324.73 501 T (a) 342.28 501 T (description) 351.16 501 T (of) 408.04 501 T (how) 421.58 501 T (environment) 445.8 501 T (properties) 510.01 501 T 54 645/G3.1004359 FmPA (are) 108 487 T (named.) 125.47 487 T (Service) 163.28 487 T (provider-specific) 202.08 487 T (properties) 286.87 487 T (should) 337.67 487 T (have) 372.49 487 T (a) 397.96 487 T (prefix) 406.11 487 T (that) 437.58 487 T (reflects) 458.4 487 T (their) 496.53 487 T (unique-) 521.34 487 T (ness) 108 473 T (to) 131.63 473 T (the) 143.93 473 T (provider.) 161.56 473 T (A) 208.19 473 T (common) 219.82 473 T (practice) 264.79 473 T (is) 305.73 473 T (to) 316.7 473 T (use) 329.01 473 T (the) 347.97 473 T (package) 365.6 473 T (name) 407.88 473 T (of) 436.84 473 T (the) 449.8 473 T (service) 467.43 473 T (provider) 504.38 473 T (as) 548 473 T (the) 108 459 T (prefix.) 127.03 459 T (For) 163.05 459 T (example,) 184.08 459 T (since) 232.1 459 T (Sun\325s) 261.12 459 T (LDAP) 292.83 459 T (provider) 328.52 459 T (is) 373.54 459 T (primarily) 385.91 459 T (contained) 434.94 459 T (in) 485.96 459 T (the) 499.66 459 T (package) 518.69 459 T 4 10 Q (com.sun.jndi.ldap) 108 445 T 2 12 Q (,) 210 445 T (properties) 215.31 445 T (specific) 265.6 445 T (to) 305.23 445 T (Sun\325s) 316.87 445 T (LDAP) 346.51 445 T (provider) 380.15 445 T (have) 423.11 445 T (the) 448.08 445 T (prefix) 465.05 445 T (\322com.sun.jn-) 496.01 445 T (di.ldap.\323.) 108 431 T 3 F (2.9.2) 66 408 T (Initializing a Context\325s Environment) 108 408 T 54 552/G3.1002898 FmPA 2 F (When) 108 388 T (creating) 140.72 388 T (an) 183.43 388 T (initial) 198.82 388 T (context) 230.88 388 T (\050either) 270.27 388 T (using) 305.65 388 T (the) 335.72 388 T (constructors) 354.44 388 T (from) 417.16 388 T 4 10 Q (InitialContext) 444.54 388 T 2 12 Q (or) 532.6 388 T (its) 546.66 388 T 54 532/G3.1004445 FmPA (subclasses\051,) 108 374 T (the) 167.66 374 T (application) 185 374 T (can) 241.01 374 T (supply) 260.34 374 T (an) 295.02 374 T (environment) 309.02 374 T (as) 372.36 374 T (a) 385.03 374 T (parameter.) 393.04 374 T (The) 446.69 374 T (parameter) 468.02 374 T (is) 518.68 374 T (repre-) 529.36 374 T (sented) 108 360 T (as) 141.24 360 T (a) 153.82 360 T 4 10 Q (Hashtable) 161.73 360 T 2 12 Q (or) 218.32 360 T (any) 230.9 360 T (of) 250.81 360 T (its) 263.39 360 T (subclasses) 277.31 360 T (\050e.g.,) 329.89 360 T 4 10 Q (Properties) 356.79 360 T 2 12 Q (\051.) 416.79 360 T (The) 426.37 360 T (JNDI) 447.61 360 T (class) 476.19 360 T (library) 502.1 360 T (aug-) 536.68 360 T (ments) 108 346 T (the) 140.26 346 T (data) 158.51 346 T (from) 182.09 346 T (this) 209.01 346 T (parameter) 229.94 346 T (with) 281.5 346 T (data) 306.42 346 T (from) 330.01 346 T (other) 356.92 346 T (sources) 385.17 346 T (\050see) 424.75 346 T (Chapter) 447.66 346 T (6) 489.24 346 T (in) 498.83 346 T (the) 511.75 346 T 3 F (JNDI) 530 346 T (API) 108 332 T 2 F ( document\051 and passes this to the context implementation.) 128.66 332 T (Like) 108 312 T (all) 132.98 312 T (other) 147.96 312 T (parameters,) 175.6 312 T (the) 234.22 312 T (environment) 251.86 312 T (parameter) 315.5 312 T (received) 366.46 312 T (by) 410.08 312 T (a) 425.06 312 T (context) 433.37 312 T (implementation) 471.68 312 T (is) 550 312 T 54 456/G3.1004469 FmPA (owned) 108 298 T (by) 143.21 298 T (the) 158.43 298 T (caller.) 176.31 298 T (The) 209.19 298 T (context) 231.07 298 T (implementation) 269.61 298 T (should) 348.17 298 T (make) 383.39 298 T (a) 412.6 298 T (copy) 421.15 298 T (of) 447.7 298 T (the) 460.91 298 T (environment) 478.8 298 T (pa-) 542.68 298 T (rameter) 108 284 T (it) 148.65 284 T (gets) 159.33 284 T (or) 182.67 284 T (otherwise) 196.67 284 T (take) 247.34 284 T (steps) 271.33 284 T (to) 299.34 284 T (ensure) 312.68 284 T (that) 348.01 284 T (changes) 370.02 284 T (by) 412.67 284 T (the) 428.68 284 T (caller) 447.35 284 T (to) 478.01 284 T (the) 491.35 284 T (parameter) 510.02 284 T (would) 108 270 T (not) 140.82 270 T (affect) 158.97 270 T (what) 189.1 270 T (the) 215.25 270 T (context) 232.73 270 T (implementation) 270.87 270 T (sees) 349.03 270 T (and) 371.84 270 T (vice) 391.98 270 T (versa.) 414.79 270 T (Note) 445.93 270 T (also) 472.08 270 T (that) 494.23 270 T (if) 515.04 270 T (the) 525.19 270 T (en-) 542.68 270 T (vironment) 108 256 T (parameter) 159.85 256 T (is) 210.35 256 T (a) 220.88 256 T 4 10 Q (Properties) 228.72 256 T 2 12 Q (instance,) 291.24 256 T (enumeration) 336.09 256 T (and) 398.6 256 T 4 10 Q (Hashtable.get\050\051) 418.45 256 T 2 12 Q (on) 510.97 256 T (the) 525.49 256 T (pa-) 542.68 256 T (rameter) 108 242 T (only) 148.27 242 T (examine) 173.23 242 T (the) 217.51 242 T (top-level) 235.79 242 T (properties) 282.08 242 T (\050not) 333.68 242 T (any) 356.64 242 T (nested) 377.59 242 T (defaults\051.) 411.87 242 T (This) 460.48 242 T (is) 485.44 242 T (the) 497.07 242 T (expected) 515.35 242 T (behavior.) 108 228 T (The) 156.76 228 T (context) 179.2 228 T (implementation) 218.3 228 T (is) 297.41 228 T (not) 309.19 228 T (expected) 328.3 228 T (to) 374.73 228 T (retrieve) 387.84 228 T (or) 428.26 228 T (enumerate) 442.03 228 T (values) 495.79 228 T (in) 530.22 228 T (the) 543.34 228 T 4 10 Q (Properties) 108 214 T 2 12 Q ( instance\325s nested defaults.) 168 214 T (The) 108 194 T (JNDI) 129.74 194 T (library) 158.81 194 T (is) 193.88 194 T (responsible) 204.96 194 T (for) 262.7 194 T (merging) 279.77 194 T (properties) 322.85 194 T (from) 373.92 194 T (different) 400.32 194 T (sources,) 444.72 194 T (such) 486.78 194 T (as) 511.86 194 T (the) 524.93 194 T (en-) 542.68 194 T 54 338/G3.1004537 FmPA (vironment) 108 180 T (parameter) 159.95 180 T (to) 210.55 180 T (the) 222.5 180 T (initial) 239.78 180 T (context,) 270.41 180 T (resource) 311.36 180 T (files,) 354.62 180 T (and,) 380.9 180 T (where) 403.85 180 T (appropriate,) 435.79 180 T (system) 496.05 180 T (prop-) 532.01 180 T (erties) 108 166 T (and) 141.5 166 T (applet) 166.34 166 T (parameters) 203.17 166 T (\050see) 263.32 166 T (the) 290.15 166 T (JNDI) 312.32 166 T (API) 345.82 166 T (document,) 372.66 166 T (Chapter) 430.5 166 T (6\051.) 476 166 T (The) 496.5 166 T (context) 522.67 166 T (implementation) 108 152 T (typically) 186.98 152 T (just) 232.62 152 T (reads) 253.61 152 T (the) 282.57 152 T (property) 300.88 152 T (it) 345.18 152 T (needs) 355.5 152 T (from) 386.47 152 T (the) 413.44 152 T (environment) 431.75 152 T (which) 496.05 152 T (it) 529.02 152 T (was) 539.34 152 T (supplied. There is seldom a need for a context implementation to consult other sources.) 108 138 T 3 F (2.9.3) 66 115 T (Inheritance) 108 115 T 54 259/G3.1002900 FmPA 2 F (The) 108 95 T (environment) 130.52 95 T (is) 195.04 95 T (inherited) 206.91 95 T (from) 253.43 95 T (parent) 280.62 95 T (to) 314.47 95 T (child) 327.67 95 T (as) 355.53 95 T (the) 369.39 95 T (context) 387.92 95 T (methods) 427.11 95 T (proceed) 471.64 95 T (from) 513.48 95 T (one) 540.67 95 T 54 239/G3.1002901 FmPA (context) 108 81 T (to) 145.98 81 T (the) 157.97 81 T (next.) 175.28 81 T (The) 206.9 81 T (entire) 228.22 81 T (environment) 258.19 81 T (of) 321.5 81 T (a) 334.15 81 T (context) 342.13 81 T (instance) 380.11 81 T (is) 422.09 81 T (inherited) 432.74 81 T (by) 478.06 81 T (the) 492.71 81 T (child) 510.02 81 T (con-) 536.68 81 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.17/DEST FmPD2 [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (text) 108 712 T (instances,) 129.15 712 T (regardless) 179.29 712 T (of) 231.08 712 T (whether) 244.22 712 T (certain) 286.02 712 T (properties) 321.82 712 T (within) 372.96 712 T (the) 406.78 712 T (environment) 424.59 712 T (are) 488.39 712 T (ignored) 506.19 712 T (by) 546 712 T (a particular context.) 108 698 T (A) 108 678 T (context) 119.48 678 T (implementation) 157.62 678 T (must) 235.76 678 T (pass) 261.92 678 T (on) 285.39 678 T (the) 300.21 678 T (environment) 317.68 678 T (from) 381.15 678 T (one) 407.29 678 T (context) 427.43 678 T (instance) 465.58 678 T (to) 507.71 678 T (the) 519.86 678 T (next) 537.34 678 T 54 822/G3.1002902 FmPA (in) 108 664 T (order) 120.48 664 T (to) 148.94 664 T (implement) 161.42 664 T (this) 215.9 664 T (\322inheritance\323) 236.38 664 T (trait) 303.5 664 T (of) 325.97 664 T (environments.) 339.11 664 T (Within) 410.58 664 T (one) 447.06 664 T (context) 467.53 664 T (implemen-) 506 664 T (tation) 108 650 T (it) 138.69 650 T (can) 148.72 650 T (do) 168.74 650 T (so) 184.09 650 T (by) 198.12 650 T (passing) 213.47 650 T (the) 252.83 650 T (environment) 270.85 650 T (as) 334.87 650 T (an) 348.22 650 T (argument) 362.91 650 T (to) 411.59 650 T (the) 424.28 650 T 4 10 Q (Context) 442.3 650 T 2 12 Q (constructor,) 487.66 650 T (or) 548 650 T (to) 108 636 T (the) 124.81 636 T 4 10 Q (NamingManager/DirectoryManager.getObjectInstance\050\051) 146.94 636 T 2 12 Q (method) 454.41 636 T (for) 497.89 636 T (creating) 519.35 636 T 4 10 Q (Context) 108 622 T 2 12 Q ( instances.) 150 622 T (Across) 108 602 T (context) 144.58 602 T (implementations) 183.16 602 T (in) 266.42 602 T (a) 279 602 T (federation,) 287.58 602 T (this) 342.49 602 T (is) 363.08 602 T (supported) 374.34 602 T (by) 424.92 602 T (passing) 440.17 602 T (the) 479.42 602 T (environment) 497.34 602 T 54 746/G3.1002903 FmPA (as) 108 588 T (part) 121.81 588 T (of) 144.29 588 T (the) 158.1 588 T 4 10 Q (CannotProceedException) 176.58 588 T 2 12 Q (parameter) 312.4 588 T (of) 364.19 588 T 4 10 Q (NamingManager.getContinuation-) 378 588 T (Context\050\051/DirectoryManager.getContinuationDirContext\050\051) 108 574 T 2 12 Q (,) 432 574 T (which) 441.07 574 T (in) 476.46 574 T (turn) 491.87 574 T (will) 517.27 574 T (use) 542 574 T (this environment when creating an instance of the context in which to continue the operation.) 108 560 T (Inheritance) 108 540 T (can) 164.61 540 T (be) 183.9 540 T (implemented) 197.85 540 T (in) 263.15 540 T (any) 275.12 540 T (way) 295.08 540 T (as) 317.7 540 T (long) 330.33 540 T (as) 354.3 540 T (it) 366.93 540 T (preserves) 376.23 540 T (the) 424.17 540 T (semantics) 441.47 540 T (that) 491.43 540 T (each) 512.06 540 T (con-) 536.68 540 T 54 684/G3.1002904 FmPA (text) 108 526 T (has) 129.08 526 T (its) 148.16 526 T (own) 162.58 526 T (view) 186.32 526 T (of) 212.73 526 T (its) 225.81 526 T (environment.) 240.23 526 T (For) 306.97 526 T (example,) 326.71 526 T (a) 373.45 526 T (copy-on-write) 381.86 526 T (implementation) 452.92 526 T (could) 531.34 526 T (be used to defer copying of the environment until it is absolutely necessary.) 108 512 T 3 F (2.9.4) 66 489 T (Updates to the Environment) 108 489 T 54 633/G3.1002905 FmPA 2 F (The) 108 469 T (environment) 129.02 469 T (of) 192.03 469 T (a) 204.39 469 T (context) 212.07 469 T (can) 249.76 469 T (be) 268.77 469 T (updated) 282.45 469 T (via) 322.8 469 T (the) 339.82 469 T (use) 356.85 469 T (of) 375.2 469 T (the) 387.55 469 T 4 10 Q (addToEnvironment\050\051) 404.57 469 T (and) 517.29 469 T (re-) 540 469 T 54 613/G3.1002906 FmPA (moveFromEnvironment\050\051) 108 455 T 2 12 Q ( methods in the) 234 455 T 4 10 Q (Context) 310.67 455 T 2 12 Q ( interface.) 352.67 455 T 4 10 Q (public interface Context {) 140.4 436.33 T 54 580/G3.1002907 FmPA (...) 165.6 424.33 T 54 568/G3.1002908 FmPA (public Object addToEnvironment\050String propName, Object propVal\051) 165.6 412.33 T 54 556/G3.1002909 FmPA (throws NamingException;) 190.8 400.33 T 54 544/G3.1002910 FmPA 54 532/G3.1002911 FmPA (public Object removeFromEnvironment\050String propName\051) 165.6 376.33 T 54 520/G3.1002912 FmPA (throws NamingException;) 190.8 364.33 T 54 508/G3.1002913 FmPA (}) 140.4 352.33 T 54 496/G3.1002914 FmPA 2 12 Q (These) 108 333 T (methods) 139.63 333 T (update) 183.28 333 T (the) 218.25 333 T (environment) 235.89 333 T (of) 299.52 333 T (this) 312.5 333 T (instance) 332.82 333 T (of) 375.12 333 T 4 10 Q (Context) 388.09 333 T 2 12 Q (.) 430.09 333 T (An) 436.07 333 T (environment) 453.71 333 T (property) 517.34 333 T 54 477/G3.1002915 FmPA (that) 108 319 T (is) 129.2 319 T (not) 140.41 319 T (relevant) 158.95 319 T (to) 200.8 319 T (the) 213.34 319 T (context) 231.2 319 T (implementation) 269.73 319 T (is) 348.27 319 T (silently) 359.47 319 T (ignored) 398.02 319 T (but) 437.88 319 T (maintained) 456.42 319 T (as) 512.95 319 T (part) 526.14 319 T (of) 548 319 T (the) 108 305 T (environment.) 125.34 305 T (The) 191.67 305 T (updated) 213 305 T (environment) 253.66 305 T (affects) 317 305 T (this) 351.65 305 T (instance) 371.66 305 T (of) 413.66 305 T 4 10 Q (Context) 426.33 305 T 2 12 Q (,) 468.33 305 T (and) 474 305 T (will) 494 305 T (be) 515.34 305 T (inher-) 529.34 305 T (ited) 108 291 T (by) 128.78 291 T (any) 143.57 291 T (new) 163.68 291 T (child) 186.45 291 T 4 10 Q (Context) 213.23 291 T 2 12 Q (instances,) 258.01 291 T (but) 307.79 291 T (does) 325.91 291 T (not) 350.68 291 T (affect) 368.8 291 T (any) 398.9 291 T 4 10 Q (Context) 419.01 291 T 2 12 Q (instances) 463.79 291 T (already) 510.57 291 T (in) 548.66 291 T (existence.) 108 277 T (A) 158.47 277 T (lookup) 169.95 277 T (of) 206.1 277 T (the) 218.91 277 T (empty) 236.39 277 T (name) 269.21 277 T (on) 298.02 277 T (a) 312.83 277 T 4 10 Q (Context) 320.98 277 T 2 12 Q (will) 365.79 277 T (return) 387.28 277 T (a) 418.76 277 T (new) 426.9 277 T 4 10 Q (Context) 449.71 277 T 2 12 Q (instance) 494.52 277 T (with) 536.66 277 T (an environment inherited as with any other child.) 108 263 T (See Section 6.6 in the) 108 243 T 3 F (JNDI API) 215.33 243 T 2 F ( document for details.) 266.99 243 T 54 387/G3.1005730 FmPA 3 F (2.9.5) 66 220 T (Provider Resource Files) 108 220 T 54 364/G3.1004380 FmPA 2 F (Each) 108 200 T (service) 134.66 200 T (provider) 171.32 200 T (has) 214.65 200 T (an) 233.32 200 T (optional) 247.32 200 T (resource) 289.33 200 T (file) 332.65 200 T (that) 351.32 200 T (contains) 372 200 T (properties) 414.67 200 T (specific) 465.33 200 T (to) 505.32 200 T (that) 517.33 200 T (pro-) 538.01 200 T 54 344/G3.1004381 FmPA (vider. The name of this resource is:) 108 186 T 4 10 Q ([) 140.4 167.33 T 5 F (prefix) 146.4 167.33 T 4 F (/]jndiprovider.properties) 182.4 167.33 T 54 311/G3.1004383 FmPA 2 12 Q (where) 108 148 T 0 F (prefix) 139.66 148 T 2 F (is) 169.99 148 T (the) 180.34 148 T (package) 197.34 148 T (name) 239 148 T (of) 267.33 148 T (the) 279.67 148 T (provider\325s) 296.67 148 T (context) 348.33 148 T (implementation\050s\051,) 386 148 T (with) 479.34 148 T (each) 503.02 148 T (period) 527.34 148 T 54 292/G3.1004384 FmPA (\050\322.\323\051) 108 134 T (converted) 132.74 134 T (to) 183.16 134 T (a) 195.59 134 T (slash) 204.01 134 T (\050\322/\323\051.) 231.11 134 T (For) 259.19 134 T (example,) 278.96 134 T (suppose) 325.71 134 T (a) 367.47 134 T (service) 375.9 134 T (provider) 412.98 134 T (defines) 456.73 134 T (a) 494.48 134 T (context) 502.91 134 T (im-) 541.33 134 T (plementation) 108 120 T (with) 174.26 120 T (class) 199.2 120 T (name) 226.12 120 T 4 10 Q (com.sun.jndi.ldap.LdapCtx) 255.71 120 T 2 12 Q (.) 405.71 120 T (The) 412.31 120 T (provider) 434.57 120 T (resource) 478.83 120 T (for) 523.07 120 T (this) 540.66 120 T (provider is named) 108 106 T 4 10 Q (com/sun/jndi/ldap/jndiprovider.properties) 197.65 106 T 2 12 Q (.) 443.65 106 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.18/DEST FmPD2 108 372/M3.9.25343.subsection.285.Provider.Resource.Files FmPA 108 372/I3.1.1006883 FmPA [/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 SPI) 54 749.33 T (Building a Context Implementation) 417.17 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 2 12 Q 0 X (The) 108 712 T (JNDI) 129.39 712 T (class) 158.11 712 T (library) 184.17 712 T (will) 218.89 712 T (consult) 240.29 712 T (this) 277.69 712 T (file) 297.76 712 T (when) 316.48 712 T (it) 345.21 712 T (needs) 354.61 712 T (to) 384.66 712 T (determine) 396.73 712 T (the) 447.45 712 T (value) 464.84 712 T (of) 493.56 712 T (a) 506.29 712 T (property,) 514.34 712 T 54 856/G3.1004419 FmPA (as described in Section 6.5.2 in the) 108 698 T 3 F (JNDI API) 278.32 698 T 2 F ( document.) 329.98 698 T (When) 108 678 T (the) 139.14 678 T (service) 156.29 678 T (provider) 192.76 678 T (needs) 235.9 678 T (to) 265.71 678 T (determine) 277.53 678 T (the) 328.01 678 T (value) 345.16 678 T (of) 373.63 678 T (a) 386.11 678 T (property,) 393.93 678 T (it) 440.07 678 T (will) 449.23 678 T (generally) 470.39 678 T (take) 517.52 678 T (that) 540 678 T 54 822/G3.1004427 FmPA (value) 108 664 T (directly) 137.06 664 T (from) 176.79 664 T (the) 203.19 664 T (environment.) 220.93 664 T (The) 287.66 664 T (service) 309.39 664 T (provider) 346.44 664 T (may) 390.17 664 T (define) 413.91 664 T (provider-specific) 446.96 664 T (prop-) 532.01 664 T (erties) 108 650 T (to) 137.1 650 T (be) 149.55 650 T (placed) 163.99 650 T (in) 198.42 650 T (its) 210.86 650 T (own) 225.31 650 T (provider) 249.09 650 T (resource) 292.85 650 T (file.) 336.61 650 T (In) 358.71 650 T (that) 371.82 650 T (case) 392.93 650 T (it) 416.69 650 T (needs) 426.47 650 T (to) 456.9 650 T (read) 469.35 650 T (them) 493.11 650 T (from) 520.22 650 T (its) 546.66 650 T (property) 108 636 T (resource) 151.28 636 T (file) 194.56 636 T (and) 213.18 636 T (merge) 233.14 636 T (them) 265.75 636 T (in) 292.38 636 T (a) 304.34 636 T (way) 312.3 636 T (consistent) 334.92 636 T (with) 385.55 636 T (the) 409.51 636 T (algorithm) 426.8 636 T (described) 476.1 636 T (in) 524.71 636 T (Sec-) 536.68 636 T (tion 6.5.2 in the) 108 622 T 3 F (JNDI API) 186.67 622 T 2 F ( document.) 238.33 622 T 3 14 Q (2.10) 65.5 594.67 T (Connection Management) 108 594.67 T 54 739/G3.1005562 FmPA 2 12 Q (For) 108 574 T (a) 127.79 574 T (context) 136.24 574 T (implementation) 174.7 574 T (that) 253.16 574 T (uses) 274.28 574 T (a) 298.07 574 T (client/server) 306.52 574 T (protocol,) 368.96 574 T (there) 415.08 574 T (is) 442.2 574 T (not) 453.32 574 T (necessarily) 471.78 574 T (a) 528.22 574 T (one-) 536.68 574 T 54 718/G3.1005731 FmPA (to-one) 108 560 T (mapping) 141.45 560 T (between) 186.23 560 T (a) 229 560 T (context) 237.11 560 T (and) 275.22 560 T (a) 295.34 560 T (connection) 303.45 560 T (between) 358.89 560 T (the) 401.66 560 T (client) 419.11 560 T (and) 448.56 560 T (the) 468.67 560 T (server.) 486.12 560 T (JNDI) 521.22 560 T (is) 550 560 T (a) 108 546 T (high-level) 116.06 546 T (API) 167.44 546 T (that) 189.51 546 T (does) 210.23 546 T (not) 234.96 546 T (deal) 253.02 546 T (directly) 275.74 546 T (with) 315.13 546 T (connections.) 339.19 546 T (It) 402.25 546 T (is) 412.31 546 T (the) 423.04 546 T (job) 440.43 546 T (of) 458.49 546 T (the) 471.22 546 T (context) 488.61 546 T (imple-) 526.67 546 T (mentation) 108 532 T (to) 159.95 532 T (do) 173.24 532 T (any) 189.19 532 T (necessary) 210.47 532 T (connection) 261.07 532 T (management.) 317.68 532 T (Hence,) 385.95 532 T (a) 423.55 532 T (single) 432.83 532 T (connection) 465.45 532 T (may) 522.06 532 T (be) 546.67 532 T (shared) 108 518 T (by) 142.15 518 T (multiple) 156.97 518 T (context) 199.8 518 T (instances,) 237.96 518 T (and) 287.78 518 T (a) 307.93 518 T (context) 316.08 518 T (implementation) 354.24 518 T (is) 432.4 518 T (free) 443.23 518 T (to) 464.7 518 T (use) 476.86 518 T (its) 495.68 518 T (own) 509.85 518 T (algo-) 533.34 518 T (rithms) 108 504 T (to) 141.25 504 T (conserve) 153.17 504 T (connection) 198.4 504 T (and) 253.64 504 T (network) 273.55 504 T (usage.) 315.46 504 T (Thus,) 348.36 504 T (when) 377.95 504 T (a) 406.52 504 T (method) 414.43 504 T (is) 453.01 504 T (invoked) 463.6 504 T (on) 504.85 504 T (the) 519.43 504 T (con-) 536.67 504 T (text) 108 490 T (instance,) 129.64 490 T (the) 175.61 490 T (context) 193.91 490 T (implementation) 232.88 490 T (might) 311.86 490 T (need) 343.51 490 T (to) 369.81 490 T (do) 382.79 490 T (some) 398.43 490 T (connection) 427.4 490 T (management) 483.7 490 T (in) 548.66 490 T (addition to performing the requested operation.) 108 476 T (The) 108 456 T 4 10 Q (Context.close\050\051) 130.29 456 T 2 12 Q (and) 223.93 456 T 4 10 Q (NamingEnumeration.close\050\051) 244.89 456 T 2 12 Q (methods) 398.53 456 T (can) 442.83 456 T (be) 463.12 456 T (used) 478.08 456 T (by) 503.71 456 T (applica-) 519.35 456 T 54 600/G3.1005756 FmPA (tions) 108 442 T (to) 134.68 442 T (provide) 147.35 442 T (hints) 187.35 442 T (to) 214.03 442 T (the) 226.7 442 T (context) 244.7 442 T (implementation) 283.37 442 T (as) 362.04 442 T (to) 375.38 442 T (when) 388.05 442 T (to) 417.38 442 T (free) 430.05 442 T (connection-related) 452.04 442 T (re-) 544.68 442 T (sources.) 108 428 T (A) 150.15 428 T (context) 161.97 428 T (implementation) 200.46 428 T (may) 278.96 428 T (choose) 302.78 428 T (to) 339.27 428 T (\050and) 351.76 428 T (is) 376.25 428 T (generally) 387.41 428 T (encouraged) 435.23 428 T (to\051) 493.7 428 T (take) 510.19 428 T (other) 533.34 428 T (measures to garbage-collect and conserve its connection-related resources.) 108 414 T (Some) 108 394 T (environment) 139.52 394 T (properties) 204.37 394 T (affect) 256.55 394 T (a) 288.05 394 T (context\325s) 297.57 394 T (connection.) 345.75 394 T (For) 405.6 394 T (example,) 426.45 394 T (if) 474.3 394 T (the) 485.82 394 T (application) 504.67 394 T 54 538/G3.1005763 FmPA (changes) 108 380 T (the) 150.38 380 T (security-related) 168.78 380 T (properties,) 247.15 380 T (the) 301.88 380 T (context) 320.27 380 T (implementation) 359.33 380 T (might) 438.4 380 T (need) 470.14 380 T (to) 496.53 380 T (modify) 509.6 380 T (or) 548 380 T (create) 108 366 T (a) 139.44 366 T (new) 147.56 366 T (connection) 170.34 366 T (using) 225.79 366 T (those) 254.59 366 T (updated) 282.72 366 T (properties.) 323.5 366 T (If) 377.28 366 T (the) 388.07 366 T (connection) 405.53 366 T (was) 460.98 366 T (being) 482.43 366 T (shared) 511.89 366 T (by) 546 366 T (other) 108 352 T (contexts) 136.85 352 T (prior) 181.03 352 T (to) 208.54 352 T (the) 222.07 352 T (change,) 240.91 352 T (the) 282.08 352 T (connection) 300.93 352 T (change) 357.78 352 T (should) 395.95 352 T (not) 432.14 352 T (affect) 451.66 352 T (contexts) 483.16 352 T (whose) 527.34 352 T (properties have not been updated.) 108 338 T [/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 SPI) 54 749.33 T (The Initial Context) 482.44 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 3 18 Q 0 X (3) 81 708 T (The Initial Context) 108 708 T 54 852/G3.1002345 FmPA 2 12 Q (Since) 108 680 T (all) 138.07 680 T (naming) 153.49 680 T (methods) 192.9 680 T (are) 236.97 680 T (performed) 255.04 680 T (relative) 308.43 680 T (to) 347.83 680 T (a) 360.57 680 T (context,) 369.31 680 T (an) 411.05 680 T (application) 425.79 680 T (needs) 482.53 680 T (a) 513.26 680 T (starting) 522 680 T 54 824/G3.997006 FmPA (context) 108 666 T (in) 146.66 666 T (order) 159.34 666 T (to) 187.99 666 T (invoke) 200.67 666 T (them.) 236.67 666 T (This) 267 666 T (starting) 291.68 666 T (context) 331.01 666 T (is) 369.68 666 T (referred) 381.02 666 T (to) 422.32 666 T (as) 435 666 T (the) 448.33 666 T 0 F (initial) 466.33 666 T (context) 498.35 666 T 2 F (.) 533 666 T (The) 539.34 666 T (bindings) 108 652 T (in) 152.36 652 T (the) 164.72 652 T (initial) 182.41 652 T (context) 213.44 652 T (are) 251.8 652 T (determined) 269.47 652 T (by) 326.48 652 T (policies) 341.51 652 T (set) 381.86 652 T (forth) 398.22 652 T (by) 424.57 652 T (the) 439.6 652 T (initial) 457.28 652 T (context) 488.32 652 T (imple-) 526.67 652 T (mentation,) 108 638 T (perhaps) 161.54 638 T (using) 201.4 638 T (standard) 229.95 638 T (policies) 273.15 638 T (for) 313.02 638 T (naming) 329.55 638 T (global) 368.1 638 T (and) 400.64 638 T (enterprise-wide) 420.51 638 T (namespaces.) 497.69 638 T (For) 108 624 T (example,) 126.98 624 T (the) 172.95 624 T (initial) 189.93 624 T (context) 220.25 624 T (might) 257.9 624 T (contain) 288.22 624 T (a) 325.86 624 T (binding) 333.5 624 T (to) 372.49 624 T (the) 384.14 624 T (Internet) 401.12 624 T (DNS) 440.75 624 T (namespace,) 467.07 624 T (a) 525.03 624 T (bind-) 532.67 624 T (ing) 108 610 T (to) 126.94 610 T (the) 139.87 610 T (enterprise-wide) 158.14 610 T (namespace,) 236.38 610 T (and) 295.62 610 T (a) 316.55 610 T (binding) 325.48 610 T (to) 365.76 610 T (a) 378.69 610 T (personal) 387.62 610 T (directory) 431.88 610 T (belonging) 478.8 610 T (to) 530.4 610 T (the) 543.34 610 T (user who is running the application.) 108 596 T (An application obtains an initial context by making the following call:) 108 576 T 54 720/G3.997007 FmPA 4 10 Q (Context ctx = new InitialContext\050\051;) 140.4 557.33 T 54 701/G3.1000138 FmPA 2 12 Q (An) 108 538 T (alternate) 126.03 538 T (constructor) 170.71 538 T (allows) 228.06 538 T (an) 262.75 538 T (environment) 277.44 538 T (to) 341.46 538 T (be) 354.16 538 T (passed) 368.85 538 T (as) 404.21 538 T (an) 417.57 538 T (argument.) 432.26 538 T (This) 483.94 538 T (allows) 508.64 538 T (the) 543.34 538 T 54 682/G3.997009 FmPA (application) 108 524 T (to) 164.44 524 T (pass) 176.9 524 T (in) 200.68 524 T (preferences) 213.13 524 T (or) 271.54 524 T (security) 284.65 524 T (information) 325.76 524 T (to) 385.54 524 T (be) 397.99 524 T (used) 412.44 524 T (in) 437.55 524 T (the) 450 524 T (construction) 467.78 524 T (of) 530.22 524 T (the) 543.34 524 T (initial context.) 108 510 T 4 10 Q (Hashtable env = new Hashtable\050\051;) 140.4 488.67 T 4 8 Q (1) 332.4 492.67 T 54 633/G3.1000082 FmPA 4 10 Q (env.put\050Context.SECURITY_PRINCIPAL, "jsmith"\051;) 140.4 476.67 T 54 621/G3.1000088 FmPA (env.put\050Context.SECURITY_CREDENTIALS, "xxxxxxx"\051;) 140.4 464.67 T 54 609/G3.1000282 FmPA (Context ctx = new InitialContext\050env\051;) 140.4 452.67 T 54 597/G3.1000087 FmPA 2 12 Q (Subsequent to getting an initial context, the application can invoke) 108 433.33 T 4 10 Q (Context) 430.98 433.33 T 2 12 Q ( methods.) 472.98 433.33 T 54 577/G3.997010 FmPA 4 10 Q (Object obj = ctx.lookup\050"this/is/a/test"\051;) 140.4 414.67 T 54 559/G3.997011 FmPA 2 12 Q (The) 108 395.33 T 4 10 Q (InitialContext) 130.36 395.33 T 2 12 Q (class) 218.07 395.33 T (\050and) 245.1 395.33 T (subclasses\051) 270.12 395.33 T (selects) 327.81 395.33 T (an) 363.51 395.33 T (implementation) 378.54 395.33 T (using) 457.58 395.33 T (a) 487.28 395.33 T (default) 496.31 395.33 T (algo-) 533.34 395.33 T 54 539/G3.997012 FmPA (rithm that can be overridden by installing an) 108 381.33 T 0 F (initial context factory builder) 323.98 381.33 T 2 F ( \050described below\051.) 464.98 381.33 T (The) 108 361.33 T 4 10 Q (InitialDirContext) 129.47 361.33 T 2 12 Q (is) 234.28 361.33 T (an) 245.09 361.33 T (extension) 259.23 361.33 T (of) 308.04 361.33 T 4 10 Q (InitialContext) 320.84 361.33 T 2 12 Q (.) 404.84 361.33 T (It) 410.65 361.33 T (is) 420.8 361.33 T (used) 431.61 361.33 T (for) 456.42 361.33 T (performing) 473.22 361.33 T (direc-) 530.02 361.33 T 54 505/G3.997013 FmPA (tory) 108 347.33 T (operations) 131.36 347.33 T (using) 185.38 347.33 T (the) 215.42 347.33 T (initial) 234.11 347.33 T (context.) 266.15 347.33 T (The) 308.51 347.33 T 4 10 Q (InitialLdapContext) 331.2 347.33 T 2 12 Q (class) 443.23 347.33 T (is) 470.59 347.33 T (an) 482.62 347.33 T (extension) 497.98 347.33 T (of) 548 347.33 T 4 10 Q (InitialDirContext) 108 333.33 T 2 12 Q (.) 210 333.33 T (It) 216.7 333.33 T (is) 227.73 333.33 T (used) 239.43 333.33 T (for) 265.12 333.33 T (performing) 282.81 333.33 T (special) 340.49 333.33 T (LDAP) 377.52 333.33 T (v3) 412.54 333.33 T (operations) 428.24 333.33 T (using) 481.93 333.33 T (the) 511.63 333.33 T (initial) 529.99 333.33 T (context.) 108 319.33 T (The) 149.75 319.33 T (algorithms) 171.83 319.33 T (and) 226.58 319.33 T (policies) 247.33 319.33 T (described) 288.08 319.33 T (in) 337.48 319.33 T (this) 350.24 319.33 T (section) 371 319.33 T (also) 408.41 319.33 T (apply) 431.16 319.33 T (to) 461.24 319.33 T 4 10 Q (InitialDirCon-) 474 319.33 T (text) 108 305.33 T 2 12 Q (and) 134.96 305.33 T 4 10 Q (InitialLdapContext) 155.26 305.33 T 2 12 Q (.) 263.26 305.33 T (Places) 269.22 305.33 T (where) 302.84 305.33 T 4 10 Q (DirContext/LdapContext) 335.12 305.33 T 2 12 Q (is) 470.09 305.33 T (required) 481.06 305.33 T (instead) 524 305.33 T (of) 108 291.33 T 4 10 Q (Context) 121 291.33 T 2 12 Q ( have been noted.) 163 291.33 T 3 14 Q (3.1) 72.5 264 T (The Initial Context Factory) 108 264 T 54 408/G3.1004566 FmPA 2 12 Q (An) 108 243.33 T 0 F (initial) 126.24 243.33 T (context) 158.49 243.33 T (factory) 196.72 243.33 T 2 F (is) 234.29 243.33 T (a) 245.87 243.33 T (class) 254.77 243.33 T (that) 281.67 243.33 T (creates) 303.24 243.33 T (an) 340.13 243.33 T (instance) 355.03 243.33 T (of) 397.92 243.33 T (a) 411.49 243.33 T (context) 420.39 243.33 T (that) 459.3 243.33 T (has) 480.87 243.33 T (been) 500.44 243.33 T (imple-) 526.67 243.33 T 54 387/G3.1004567 FmPA (mented) 108 229.33 T (following) 145.69 229.33 T (the) 194.71 229.33 T (guidelines) 211.74 229.33 T (outlined) 263.43 229.33 T (in) 305.13 229.33 T (Chapter) 316.82 229.33 T (2.) 357.17 229.33 T (The) 368.53 229.33 T (factory) 389.55 229.33 T (is) 425.9 229.33 T (used) 436.26 229.33 T (by) 460.62 229.33 T (the) 474.98 229.33 T 4 10 Q (InitialCon-) 492 229.33 T (text) 108 215.33 T 2 12 Q ( class \050or subclass\051 constructor.) 132 215.33 T (Given an environment, the factory returns an instance of) 108 195.33 T 4 10 Q (Context) 381.94 195.33 T 2 12 Q ( \050or its subinterfaces\051.) 423.94 195.33 T 54 339/G3.1004588 FmPA 4 10 Q (public interface InitialContextFactory {) 140.4 176.67 T 54 321/G3.998186 FmPA (public Context getInitialContext\050Hashtable env\051) 165.6 164.67 T 54 309/G3.999039 FmPA (throws NamingException;) 190.8 152.67 T (}) 140.4 140.67 T 54 285/G3.999040 FmPA 2 12 Q (Appendix A contains an example of an) 108 121.33 T 4 10 Q (InitialContextFactory) 298.3 121.33 T 2 12 Q (.) 424.3 121.33 T 54 265/G3.998189 FmPA 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 (Y) 84 77.33 T (ou can also use a subclass of) 90.12 77.33 T 4 F (Hashtable) 207.04 77.33 T 2 F ( \050e.g.) 261.04 77.33 T 4 F (Properties) 283.81 77.33 T 2 F (\051 for this.) 343.81 77.33 T 54 221/G3.1002114 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.20/DEST FmPD2 108 417/M3.9.38090.section.31.The.Initial.Context.Factory FmPA 108 417/I3.1.1005542 FmPA [/Rect[316 225 363 238]/Border[0 0 0]/Page 8/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (The Initial Context) 482.44 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 (Once) 108 712 T (the) 135.97 712 T (context) 153.28 712 T (instance) 191.26 712 T (has) 233.23 712 T (been) 251.88 712 T (created,) 277.18 712 T (when) 317.47 712 T (a) 346.11 712 T (method) 354.09 712 T (is) 392.74 712 T (invoked) 403.39 712 T (on) 444.7 712 T 4 10 Q (InitialContext) 459.35 712 T 2 12 Q (by) 546 712 T 54 856/G3.1004591 FmPA (using) 108 698 T (a) 137.23 698 T (non-URL) 145.79 698 T (name) 195.01 698 T (\050see) 224.23 698 T (below\051,) 246.78 698 T (the) 286.33 698 T (method) 304.22 698 T (is) 343.45 698 T (forwarded) 354.68 698 T (and) 407.21 698 T (invoked) 427.77 698 T (on) 469.66 698 T (that) 484.89 698 T (context) 506.11 698 T (in-) 544.67 698 T (stance.) 108 684 T (JNDI) 108 664 T (selects) 139.49 664 T (the) 176.99 664 T (initial) 197.15 664 T (context) 230.66 664 T (implementation) 271.49 664 T (to) 352.33 664 T (use) 367.17 664 T (by) 388.67 664 T (using) 406.17 664 T (the) 437.68 664 T (property) 457.84 664 T 4 10 Q (java.nam-) 504 664 T 54 808/G3.1004603 FmPA (ing.factory.initial) 108 650 T 2 12 Q (.) 222 650 T (This) 227.46 650 T (property) 251.25 650 T (contains) 294.37 650 T (the) 336.82 650 T (fully-qualified) 353.95 650 T (class) 425.73 650 T (name) 451.52 650 T (of) 479.97 650 T (an) 492.42 650 T (initial) 506.21 650 T (con-) 536.68 650 T (text) 108 636 T (factory.) 130.58 636 T (The) 172.15 636 T (class) 195.39 636 T (must) 223.3 636 T (implement) 251.22 636 T (the) 307.14 636 T 4 10 Q (InitialContextFactory) 326.38 636 T 2 12 Q (interface) 456.97 636 T (and) 503.52 636 T (have) 525.43 636 T (a) 552.67 636 T (public) 108 622 T (constructor) 141.07 622 T (that) 198.14 622 T (does) 219.21 622 T (not) 244.29 622 T (take) 262.7 622 T (any) 285.77 622 T (arguments.) 306.17 622 T (JNDI) 362.23 622 T (will) 391.3 622 T (load) 413.05 622 T (the) 436.79 622 T (initial) 454.53 622 T (context) 485.61 622 T (factory) 524.02 622 T (class) 108 608 T (and) 134.31 608 T (then) 154.62 608 T (invoke) 178.26 608 T 4 10 Q (getInitialContext\050\051) 213.9 608 T 2 12 Q (on) 330.88 608 T (it) 345.86 608 T (to) 355.52 608 T (obtain) 367.83 608 T (a) 400.81 608 T 4 10 Q (Context) 409.12 608 T 2 12 Q (instance) 454.1 608 T (to) 496.4 608 T (be) 508.72 608 T (used) 523.03 608 T (as) 548 608 T (the initial context.) 108 594 T (An) 108 574 T (application) 124.97 574 T (that) 180.61 574 T (wants) 200.92 574 T (to) 231.23 574 T (use) 242.87 574 T (a) 261.18 574 T (particular) 268.82 574 T (initial) 317.11 574 T (context) 347.43 574 T (must) 385.06 574 T (supply) 410.71 574 T (the) 445.03 574 T 4 10 Q (java.naming.fac-) 462 574 T 54 718/G3.1004599 FmPA (tory.initial) 108 560 T 2 12 Q (property) 183.04 560 T (in) 226.73 560 T (the) 239.1 560 T (environment) 256.8 560 T (passed) 320.49 560 T (to) 355.52 560 T (the) 367.89 560 T 4 10 Q (InitialContext) 385.59 560 T 2 12 Q (\050or) 472.62 560 T (subclass\051) 489.65 560 T (con-) 536.68 560 T (structors, or via resource files, system properties, or applet parameters.) 108 546 T 3 F (3.1.1) 66 523 T (Exceptions) 108 523 T 54 667/G3.1007521 FmPA 2 F (When) 108 503 T (the) 139.42 503 T (property) 156.84 503 T 4 10 Q (java.naming.factory.initial) 200.26 503 T 2 12 Q (is) 365.02 503 T (set) 375.79 503 T (to) 391.88 503 T (a) 403.98 503 T (non-) 412.07 503 T 4 10 Q (null) 434.06 503 T 2 12 Q (value,) 460.82 503 T (the) 492.58 503 T 4 10 Q (Initial-) 510 503 T 54 647/G3.1004618 FmPA (Context) 108 489 T 2 12 Q (\050and) 153.36 489 T (subclass\051) 178.05 489 T (constructors) 225.4 489 T (will) 287.42 489 T (try) 309.46 489 T (to) 326.15 489 T (load) 338.85 489 T (and) 362.88 489 T (instantiate) 383.57 489 T (an) 436.26 489 T (initial) 450.95 489 T (context) 482.33 489 T (factory,) 521.02 489 T (which) 108 475 T (will) 140 475 T (then) 161.35 475 T (create) 184.69 475 T (a) 216.01 475 T (context) 224.01 475 T (instance.) 262.02 475 T (If) 307.02 475 T (the) 317.68 475 T (factory) 335.02 475 T (or) 371.68 475 T (context) 384.35 475 T (cannot) 422.36 475 T (be) 457.02 475 T (created,) 471.02 475 T (for) 511.34 475 T (exam-) 528.01 475 T (ple) 108 461 T (as) 125.76 461 T (a) 138.85 461 T (result) 147.27 461 T (of) 177.03 461 T (an) 190.12 461 T (authentication) 204.54 461 T (problem,) 275.63 461 T (the) 321.72 461 T (initial) 339.48 461 T (context) 370.58 461 T (factory) 409 461 T (can) 446.08 461 T (throw) 465.83 461 T (an) 496.92 461 T (exception) 511.34 461 T (to) 108 447 T (indicate) 120.28 447 T (this) 161.21 447 T (problem.) 181.49 447 T (Note) 227.42 447 T (however) 253.69 447 T (that) 297.94 447 T (it) 318.88 447 T (is) 328.49 447 T (up) 339.44 447 T (to) 354.38 447 T (the) 366.65 447 T (context) 384.26 447 T (implementation) 422.52 447 T 0 F (when) 500.8 447 T 2 F (it) 529.07 447 T (ver-) 538.68 447 T (ifies) 108 433 T (and) 131.86 433 T (indicates) 152.38 433 T (to) 198.24 433 T (users) 210.77 433 T (of) 238.63 433 T (the) 251.82 433 T (initial) 269.68 433 T (context) 300.89 433 T (any) 339.41 433 T (environment) 359.93 433 T (property-) 423.79 433 T (or) 471.64 433 T (connection-) 484.83 433 T (re-) 544.68 433 T (lated) 108 419 T (problems.) 134.04 419 T (It) 184.42 419 T (can) 194.47 419 T (do) 213.84 419 T (so) 228.56 419 T (lazily\321delaying) 241.94 419 T (until) 324.65 419 T (an) 349.37 419 T (operation) 363.41 419 T (is) 411.45 419 T (performed) 422.17 419 T (on) 474.87 419 T (the) 489.58 419 T (context,) 506.96 419 T (or) 548 419 T (eagerly, at the time the context is created.) 108 405 T (If) 108 385 T (the) 119.3 385 T (property) 137.28 385 T 4 10 Q (java.naming.factory.initial) 181.24 385 T 2 12 Q (is) 346.56 385 T (not) 357.87 385 T (set,) 376.52 385 T (no) 396.16 385 T (attempt) 411.47 385 T (will) 450.78 385 T (be) 472.77 385 T (made) 487.41 385 T (to) 516.71 385 T (create) 529.36 385 T 54 529/G3.1004636 FmPA (an) 108 371 T (underlying) 122.38 371 T (context) 177.42 371 T (for) 215.79 371 T (the) 232.83 371 T (initial) 250.54 371 T (context.) 281.6 371 T (The) 322.97 371 T (initial) 344.68 371 T (context) 375.74 371 T (is) 414.11 371 T (still) 425.16 371 T (useful,) 446.22 371 T (for) 481.6 371 T (instance,) 498.64 371 T (for) 544.01 371 T (processing URL names, as described next.) 108 357 T 3 14 Q (3.2) 72.5 329.67 T (URL Support) 108 329.67 T 54 474/G3.1004642 FmPA 2 12 Q (If) 108 305.8 T (a) 118.4 305.8 T (URL) 126.13 305.8 T 2 9.6 Q (1) 150.13 310.6 T 2 12 Q (string) 157.34 305.8 T (is) 187.08 305.8 T (passed) 197.49 305.8 T (to) 231.89 305.8 T (the) 243.63 305.8 T (initial) 260.7 305.8 T (context,) 291.11 305.8 T (it) 331.84 305.8 T (will) 340.92 305.8 T (be) 362 305.8 T (resolved) 375.73 305.8 T (using) 418.8 305.8 T (the) 447.2 305.8 T (corresponding) 464.27 305.8 T 0 F (URL) 535.33 305.8 T 54 450/G3.1004685 FmPA (context) 108 291.8 T (implementation) 145.24 291.8 T 2 F (.) 219.9 291.8 T (This) 225.48 291.8 T (feature) 249.4 291.8 T (is) 285.29 291.8 T (supported) 295.88 291.8 T (by) 345.79 291.8 T (the) 360.37 291.8 T 4 10 Q (InitialContext) 377.61 291.8 T 2 12 Q (class) 464.19 291.8 T (\050and) 490.1 291.8 T (subclass-) 514.01 291.8 T (es\051) 108 277.8 T (and) 126.8 277.8 T (is) 148.93 277.8 T (independent) 161.74 277.8 T (of) 225.19 277.8 T (the) 239.99 277.8 T (setting) 259.46 277.8 T (of) 296.27 277.8 T (the) 311.07 277.8 T 4 10 Q (java.naming.factory.initial) 330.54 277.8 T 2 12 Q (environment) 497.34 277.8 T (property.) 108 263.8 T (This) 108 243.8 T (feature) 132.59 243.8 T (allows) 169.15 243.8 T (applications) 203.73 243.8 T (to) 264.98 243.8 T (use) 277.56 243.8 T (the) 296.81 243.8 T (initial) 314.73 243.8 T (context) 345.98 243.8 T (to) 384.56 243.8 T (reach) 397.15 243.8 T (any) 426.38 243.8 T (namespace) 446.96 243.8 T (for) 502.85 243.8 T (which) 520.09 243.8 T (a) 552.67 243.8 T 54 388/G3.1004725 FmPA (URL) 108 229.8 T (context) 135.39 229.8 T (implementation) 174.11 229.8 T (has) 252.84 229.8 T (been) 272.23 229.8 T (made) 298.28 229.8 T (available.) 327.67 229.8 T (For) 377.38 229.8 T (example,) 397.44 229.8 T (the) 444.49 229.8 T (following) 462.55 229.8 T (code) 512.61 229.8 T (lists) 538.66 229.8 T (an LDAP namespace from the initial context:) 108 215.8 T 4 10 Q (new InitialContext\050\051.list\050"ldap://lserver/ou=eng,o=wiz,c=us"\051;) 135 195.8 T 54 340/G3.1004734 FmPA 3 12 Q (3.2.1) 66 172.8 T (URL Context) 108 172.8 T 54 317/G3.1004731 FmPA 2 F (A URL string has the following format:) 108 152.8 T 54 297/G3.1005099 FmPA 54 120 558 134.98 C 0 0 0 1 0 0 0 1 K 54 120 558 134.98 R 7 X V 63 132.96 207 132.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 113.33 T (The) 84 113.33 T (mention) 101.95 113.33 T (of) 137.13 113.33 T (\322URL\323) 147.86 113.33 T (in) 179.14 113.33 T (this) 189.32 113.33 T (document) 206.17 113.33 T (refers) 248.01 113.33 T (to) 273.17 113.33 T (a) 283.35 113.33 T (URL) 290.19 113.33 T (string) 312.58 113.33 T (as) 337.77 113.33 T (de\336ned) 348.49 113.33 T (by) 380.33 113.33 T (RFC) 392.73 113.33 T (1738) 414.03 113.33 T (and) 436.43 113.33 T (its) 453.27 113.33 T (related) 465.12 113.33 T (RFCs.) 494.73 113.33 T (It) 522.42 113.33 T (is) 530.93 113.33 T 54 257/G3.1004684 FmPA (an) 84 101.33 T (y string that conforms to the syntax described therein, and may not al) 93.29 101.33 T (w) 370.1 101.33 T (ays ha) 377.22 101.33 T (v) 402.29 101.33 T (e corresponding support in the) 407.14 101.33 T 4 F (java.net.URL) 84 89.33 T 2 F ( class or W) 156 89.33 T (eb bro) 199.91 89.33 T (wsers. The URL string is either passed as the) 224.93 89.33 T 4 9 Q (String) 407.68 89.33 T 2 10 Q ( name parameter) 440.08 89.33 T (, or as) 506.32 89.33 T (the \336rst component of the) 84 77.33 T 4 F (Name) 189.27 77.33 T 2 F ( parameter) 213.27 77.33 T (.) 255.2 77.33 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.21/DEST FmPD2 108 483/M3.9.18172.section.32.URL.Support FmPA 108 483/I3.1.1005540 FmPA [/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 SPI) 54 749.33 T (The Initial Context) 482.44 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 0 12 Q 0 X (scheme_id) 132 712 T 2 F (:) 182.65 712 T 0 F (opaque_string) 185.99 712 T 54 856/G3.1005100 FmPA 2 F (For) 108 692 T (example,) 128.42 692 T (an) 175.82 692 T (LDAP) 190.9 692 T (URL) 225.98 692 T (string) 253.73 692 T (has) 284.81 692 T (the) 304.56 692 T (scheme) 322.97 692 T (id) 362.71 692 T (\322ldap\323;) 375.79 692 T (a) 414.2 692 T (file) 423.27 692 T (URL) 443.02 692 T (has) 470.77 692 T (the) 490.51 692 T (scheme) 508.93 692 T (id) 548.66 692 T 54 836/G3.1004713 FmPA (\322file\323.) 108 678 T (A) 108 658 T (URL) 119.44 658 T (context) 146.21 658 T (implementation) 184.31 658 T (is) 262.42 658 T (a) 273.19 658 T (class) 281.29 658 T (that) 307.39 658 T (implements) 328.16 658 T (the) 386.94 658 T 4 10 Q (Context) 404.38 658 T 2 12 Q (interface) 449.15 658 T (\050and) 493.9 658 T (possibly) 517.99 658 T 54 802/G3.1005103 FmPA (some) 108 644 T (subinterfaces\051) 135.6 644 T (and) 205.18 644 T (accepts) 224.79 644 T (name) 262.38 644 T (arguments) 290.64 644 T (that) 342.9 644 T (are) 363.18 644 T (URL) 380.1 644 T (strings) 406.38 644 T (of) 440.65 644 T (the) 452.92 644 T (scheme) 469.86 644 T (that) 508.12 644 T (it) 528.39 644 T (sup-) 537.34 644 T (ports. For example, an LDAP URL context accepts \322ldap\323 URL strings.) 108 630 T (When) 108 610 T (a) 139.55 610 T (URL) 147.78 610 T (string) 174.68 610 T (name) 204.92 610 T (is) 233.81 610 T (passed) 244.71 610 T (to) 279.61 610 T (a) 291.84 610 T (URL) 300.07 610 T (context,) 326.97 610 T (the) 368.2 610 T (context) 385.76 610 T (methods) 423.99 610 T (that) 467.55 610 T (accept) 488.45 610 T 4 10 Q (String) 522 610 T 54 754/G3.1005038 FmPA 2 12 Q (treat) 108 596 T (the) 132.61 596 T (name) 150.55 596 T (as) 179.83 596 T (a) 193.1 596 T (URL) 201.71 596 T (with) 229 596 T (the) 253.61 596 T (syntax) 271.56 596 T (defined) 306.17 596 T (by) 345.44 596 T (the) 360.73 596 T (URL) 378.67 596 T (scheme.) 405.95 596 T (When) 448.22 596 T (a) 480.16 596 T 4 10 Q (Name) 488.77 596 T 2 12 Q (object) 516.05 596 T (in) 548.66 596 T (which) 108 582 T (the) 139.59 582 T (first) 156.51 582 T (component) 178.1 582 T (is) 233.68 582 T (a) 243.94 582 T (URL) 251.53 582 T (string) 277.79 582 T (name) 307.38 582 T (is) 335.63 582 T (passed) 345.89 582 T (to) 380.14 582 T (a) 391.73 582 T (URL) 399.32 582 T (context,) 425.58 582 T (the) 466.16 582 T (first) 483.08 582 T (component) 504.67 582 T (is) 108 568 T (treated) 118.53 568 T (as) 153.72 568 T (a) 166.24 568 T (URL) 174.1 568 T (string,) 200.63 568 T (and) 233.5 568 T (the) 253.35 568 T (rest) 270.55 568 T (is) 290.41 568 T (used) 300.94 568 T (for) 325.47 568 T (federation) 341.99 568 T (\050that) 393.17 568 T (is,) 417.69 568 T (resolution) 431.23 568 T (of) 481.76 568 T (the) 494.28 568 T (first) 511.48 568 T (com-) 533.34 568 T (ponent) 108 554 T (will) 143.31 554 T (indicate) 164.63 554 T (which) 205.27 554 T (naming) 237.24 554 T (system) 275.89 554 T (to) 311.88 554 T (use) 323.86 554 T (to) 342.5 554 T (resolve) 354.48 554 T (the) 391.79 554 T (rest\051.) 409.1 554 T (The) 436.07 554 T 4 10 Q (Name) 457.38 554 T 2 12 Q (instance) 484.02 554 T (should) 526 554 T (be a) 108 540 T 4 10 Q (CompositeName) 130.66 540 T 2 12 Q (; otherwise, an) 208.66 540 T 4 10 Q (InvalidNameException) 281.98 540 T 2 12 Q ( should be thrown.) 401.98 540 T (Name) 108 520 T (arguments) 140.16 520 T (that) 193.66 520 T (are) 215.16 520 T (not) 233.32 520 T (URL) 252.16 520 T (strings,) 279.66 520 T (and) 318.17 520 T (URL) 339 520 T (strings) 366.5 520 T (with) 402.01 520 T (an) 426.85 520 T (inappropriate) 441.68 520 T (scheme) 509.17 520 T (id) 548.66 520 T 54 664/G3.1005032 FmPA (should be rejected with an) 108 506 T 4 10 Q (InvalidNameException) 236.98 506 T 2 12 Q (.) 356.98 506 T 3 F (3.2.2) 66 483 T ( URL Context Factory) 108 483 T 54 627/G3.1005087 FmPA 2 F (A) 108 463 T 0 F (URL) 119.94 463 T (context) 145.88 463 T (factory) 183.82 463 T 2 F (is) 221.09 463 T (a) 232.37 463 T (class) 240.97 463 T (\050actually) 267.58 463 T (a) 312.84 463 T (special) 321.44 463 T (type) 358.04 463 T 0 F (object) 381.98 463 T (factory) 414.59 463 T 2 F (\050see) 451.86 463 T (Section) 474.45 463 T (4.1\051\051) 513.73 463 T (that) 540 463 T 54 607/G3.1004691 FmPA (creates an instance of a URL context for URLs of one or more schemes.) 108 449 T (When) 108 429 T (the) 139.64 429 T 4 10 Q (InitialContext) 157.29 429 T 2 12 Q (class) 244.27 429 T (receives) 270.58 429 T (a) 312.88 429 T (URL) 321.19 429 T (string) 348.17 429 T (as) 378.49 429 T (a) 391.47 429 T (name) 399.78 429 T (argument,) 428.76 429 T (it) 480.07 429 T (will) 489.72 429 T (look) 511.38 429 T (for) 535.7 429 T (a) 552.67 429 T 54 573/G3.1005018 FmPA (URL) 108 415 T (context) 135.06 415 T (factory) 173.46 415 T (by) 210.51 415 T (using) 225.57 415 T (the) 254.64 415 T (following) 272.37 415 T (algorithm.) 322.1 415 T (The) 374.83 415 T (environment) 396.55 415 T (property) 460.28 415 T 4 10 Q (java.nam-) 504 415 T (ing.factory.url.pkgs) 108 401 T 2 12 Q (contains) 232.64 401 T (a) 277.28 401 T (colon-separated) 287.24 401 T (list) 367.86 401 T (of) 387.17 401 T (package) 401.81 401 T (prefixes.) 445.76 401 T (The) 492.05 401 T (factory\325s) 515.35 401 T (class name is constructed by using the following rule:) 108 387 T 0 F (package_prefix) 144 367 T 2 F ( + \322.\323 +) 217.98 367 T 0 F (scheme_id) 257.17 367 T 2 F ( + \322.\323 +) 307.82 367 T 0 F (scheme_id) 347.02 367 T 4 10 Q (URLContextFactory) 397.67 367 T 54 511/G3.1005191 FmPA 2 12 Q (for) 108 347 T (each) 125.03 347 T (package) 150.05 347 T (prefix) 192.4 347 T (listed) 224.09 347 T (in) 253.13 347 T (the) 265.51 347 T (property.) 283.21 347 T (The) 329.9 347 T (default) 351.6 347 T (package) 387.96 347 T (prefix) 430.31 347 T 4 10 Q (com.sun.jndi.url) 462 347 T 54 491/G3.1005192 FmPA 2 12 Q (is appended to the end of the list.) 108 333 T (For) 108 313 T (example,) 127.88 313 T (if) 174.75 313 T (the) 185.29 313 T (URL) 203.17 313 T (is) 230.38 313 T (\322) 241.59 313 T 4 10 Q (ldap://somehost:389) 246.92 313 T 2 12 Q (\323) 360.92 313 T (and) 369.46 313 T 4 10 Q (java.naming.factory.url.pkgs) 390 313 T 54 457/G3.1005236 FmPA 2 12 Q (contains) 108 299 T (\322) 151.22 299 T 4 10 Q (com.widget:com.wiz.jndi) 156.55 299 T 2 12 Q (\323,) 294.55 299 T (the) 306.1 299 T 4 10 Q (InitialContext) 323.99 299 T 2 12 Q (class) 411.22 299 T (will) 437.77 299 T (attempt) 459.67 299 T (to) 498.89 299 T (locate) 511.45 299 T (the) 543.34 299 T (corresponding) 108 285 T (factory) 179.66 285 T (class) 216.64 285 T (by) 242.98 285 T (loading) 257.98 285 T (the) 296.98 285 T (following) 314.65 285 T (classes) 364.32 285 T (until) 400.65 285 T (one) 425.66 285 T (is) 446 285 T (successfully) 457 285 T (instanti-) 518.66 285 T (ated:) 108 271 T 4 10 Q (com.widget.ldap.ldapURLContextFactory) 140.4 252.33 T 54 396/G3.1005193 FmPA (com.wiz.jndi.ldap.ldapURLContextFactory) 140.4 240.33 T 54 384/G3.1005194 FmPA (com.sun.jndi.url.ldap.ldapURLContextFactory) 140.4 228.33 T 54 372/G3.1005195 FmPA 2 12 Q (The) 108 209 T (factory) 130.55 209 T (class) 168.42 209 T (implements) 195.63 209 T (the) 255.52 209 T 4 10 Q (ObjectFactory) 274.07 209 T 2 12 Q (interface) 355.95 209 T (\050see) 401.82 209 T (\322URL) 425.02 209 T (Context) 458.24 209 T (Factory\323) 500.13 209 T (on) 546 209 T 54 353/G3.1005198 FmPA (page) 108 195 T (31\051) 133.66 195 T (and) 153.37 195 T (has) 174.42 195 T (a) 194.13 195 T (public) 203.18 195 T (constructor) 236.9 195 T (that) 294.61 195 T (takes) 316.33 195 T (no) 344.7 195 T (arguments.) 360.42 195 T (The) 424.57 195 T 4 10 Q (InitialContext) 446.95 195 T 2 12 Q (class) 534.67 195 T (passes) 108 181 T (the) 142.41 181 T (scheme) 160.83 181 T (id) 200.58 181 T (as) 213.67 181 T (the) 227.42 181 T (resolved) 245.84 181 T (object) 290.25 181 T (to) 323.33 181 T (the) 336.42 181 T (factory\325s) 354.84 181 T 4 10 Q (getObjectInstance\050\051) 401.24 181 T 2 12 Q (method,) 519 181 T (which) 108 167 T (in) 140.37 167 T (turn) 152.75 167 T (creates) 175.13 167 T (a) 211.48 167 T (URL) 219.85 167 T (context) 246.9 167 T (for) 285.27 167 T (the) 302.31 167 T (URL) 320.01 167 T (scheme.) 347.06 167 T (The) 389.09 167 T (URL) 410.79 167 T (context) 437.84 167 T (will) 476.21 167 T (then) 497.92 167 T (be) 521.63 167 T (used) 536 167 T (to) 108 153 T (carry) 120.19 153 T (out) 147.7 153 T (the) 165.9 153 T (originally) 183.42 153 T (intended) 232.95 153 T 4 10 Q (Context) 277.14 153 T 2 12 Q (or) 322 153 T 4 10 Q (DirContext) 334.85 153 T 2 12 Q (operation) 397.71 153 T (on) 445.89 153 T (the) 460.75 153 T (URL) 478.28 153 T (supplied) 505.14 153 T (to) 548.66 153 T 4 10 Q (InitialContext) 108 139 T 2 12 Q (.) 192 139 T 3 F (3.2.3) 66 116 T (Service Provider\325s Responsibility) 108 116 T 54 260/G3.1005286 FmPA 2 F (There) 108 96 T (is) 138.57 96 T (no) 149.16 96 T (requirement) 163.74 96 T (that) 224.31 96 T (a) 244.89 96 T (service) 252.8 96 T (provider) 289.37 96 T (supply) 332.61 96 T (a) 367.2 96 T (URL) 375.11 96 T (context) 401.7 96 T (factory) 439.61 96 T (and) 476.17 96 T (URL) 496.09 96 T (context) 522.67 96 T 54 240/G3.1005287 FmPA (implementation.) 108 82 T (It) 189.18 82 T (only) 199.35 82 T (does) 223.53 82 T (so) 248.37 82 T (if) 261.88 82 T (it) 272.06 82 T (wants) 281.58 82 T (to) 312.41 82 T (allow) 324.59 82 T (URL) 354.1 82 T (string) 380.94 82 T (names) 411.12 82 T (with) 444.63 82 T (its) 468.81 82 T (URL) 482.99 82 T (scheme) 509.83 82 T (to) 548.66 82 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.22/DEST FmPD2 [/Rect[423 205 558 218]/Border[0 0 0]/Page 35/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/Rect[54 191 147 205]/Border[0 0 0]/Page 35/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/Rect[474 459 527 472]/Border[0 0 0]/Page 30/View[/XYZ null 220 758 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (The Initial Context) 482.44 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 2 12 Q 0 X (be) 108 712 T (accepted) 122.03 712 T (by) 166.7 712 T (the) 181.4 712 T 4 10 Q (InitialContext) 198.76 712 T 2 12 Q (class.) 285.46 712 T (A) 314.48 712 T (service) 325.85 712 T (provider,) 362.53 712 T (for) 408.88 712 T (instance,) 425.57 712 T (might) 470.6 712 T (just) 501.3 712 T (provide) 521.34 712 T (an initial context factory and a context implementation that is accessed through that factory.) 108 698 T 3 14 Q (3.3) 72.5 670.67 T (Overriding the Default Behavior) 108 670.67 T 54 815/G3.997025 FmPA 2 12 Q (The) 108 650 T (policy) 129.03 650 T (of) 161.4 650 T (creating) 173.76 650 T (an) 214.78 650 T (initial) 228.48 650 T (context) 258.85 650 T (factory) 296.55 650 T (using) 332.9 650 T (the) 361.27 650 T 4 10 Q (java.naming.factory.initial) 378.31 650 T 2 12 Q (en-) 542.68 650 T 54 794/G3.1005311 FmPA (vironment) 108 636 T (property) 161.05 636 T (and) 205.43 636 T (URL) 226.48 636 T (support) 254.2 636 T (is) 293.92 636 T (built) 305.64 636 T (into) 331.37 636 T (the) 353.77 636 T 4 10 Q (InitialContext) 372.15 636 T 2 12 Q (class.) 459.87 636 T (There) 489.92 636 T (are) 521.63 636 T (two) 540 636 T (ways an application can override some or all of this policy.) 108 622 T 3 F (3.3.1) 66 599 T (Removing URL Support) 108 599 T 54 743/G3.1005328 FmPA 2 F (If) 108 579 T (an) 120.47 579 T (application) 136.29 579 T (does) 194.1 579 T (not) 220.57 579 T (want) 240.39 579 T (URL) 268.2 579 T (strings) 296.69 579 T (to) 333.17 579 T (be) 346.99 579 T (treated) 362.8 579 T (specially,) 399.94 579 T (it) 450.08 579 T (can) 461.23 579 T (use) 482.37 579 T (the) 502.85 579 T (method) 522 579 T 54 723/G3.1005329 FmPA 4 10 Q (NamingManager.getInitialContext\050\051) 108 565 T 2 12 Q (,) 306 565 T (which) 312.97 565 T (creates) 346.26 565 T (a) 383.54 565 T (context) 392.83 565 T (instance) 432.13 565 T (using) 475.42 565 T (the) 505.39 565 T (factory) 524.02 565 T (named in the) 108 551 T 4 10 Q (java.naming.factory.initial) 172.99 551 T 2 12 Q ( environment property.) 334.99 551 T (This) 108 531 T (method) 131.74 531 T (is) 170.15 531 T (also) 180.55 531 T (useful) 202.29 531 T (if) 234.02 531 T (the) 243.76 531 T (application) 260.83 531 T (needs) 316.56 531 T (to) 346.29 531 T (access) 358.03 531 T (interfaces) 391.08 531 T (implemented) 440.13 531 T (by) 505.2 531 T (the) 519.61 531 T (con-) 536.68 531 T 54 675/G3.1005345 FmPA (text) 108 517 T (created) 129.36 517 T (by) 167.36 517 T (the) 182.72 517 T (initial) 200.75 517 T (context) 232.12 517 T (factory,) 270.8 517 T (but) 311.15 517 T (which) 329.84 517 T (are) 362.53 517 T (not) 380.54 517 T (one) 399.24 517 T (of) 419.93 517 T 4 10 Q (Context) 433.28 517 T 2 12 Q (,) 475.28 517 T 4 10 Q (DirContext) 481.64 517 T 2 12 Q (,) 541.64 517 T (or) 548 517 T 4 10 Q (LdapContext) 108 503 T 2 12 Q (.) 174 503 T (Here) 181.4 503 T (is) 209.11 503 T (a) 221.52 503 T (code) 231.24 503 T (fragment) 258.3 503 T (that) 306.02 503 T (gets) 328.41 503 T (a) 352.14 503 T (context) 361.87 503 T (using) 401.6 503 T 4 10 Q (NamingManager.getIni-) 432 503 T (tialContext\050\051) 108 489 T 2 12 Q ( and then casts it to a subclass:) 186 489 T 4 10 Q (FooContext ctx = \050FooContext\051 NamingManager.getInitialContext\050env\051;) 140.4 470.33 T 54 614/G3.1005353 FmPA (...) 140.4 458.33 T 54 602/G3.1005354 FmPA (Object obj = ctx.lookup\050name\051;) 140.4 446.33 T 54 590/G3.1005355 FmPA (ctx.fooMethod1\050...\051;) 140.4 434.33 T 54 578/G3.1005356 FmPA 2 12 Q (Note) 108 415 T (that) 136.21 415 T (installing) 159.08 415 T (an) 208.63 415 T (initial) 224.84 415 T (context) 257.72 415 T (factory) 297.93 415 T (builder) 336.79 415 T (\050discussed) 375.66 415 T (next\051) 430.53 415 T (affects) 460.07 415 T (the) 496.92 415 T (result) 516.46 415 T (of) 548 415 T 54 559/G3.1005350 FmPA 4 10 Q (NamingManager.getInitialContext\050\051) 108 401 T 2 12 Q (.) 306 401 T 3 F (3.3.2) 66 378 T (Removing All Policy) 108 378 T 54 522/G3.1005371 FmPA 2 F (An initial context factory) 108 358 T 0 F (builder) 231.98 358 T 2 F ( is a class that creates instances of initial context factories.) 266.65 358 T 54 502/G3.997026 FmPA (An) 108 338 T (application) 125.92 338 T (can) 182.5 338 T (install) 202.41 338 T (an) 235 338 T (initial) 249.58 338 T (context) 280.84 338 T (factory) 319.42 338 T (builder) 356.66 338 T (to) 393.91 338 T (define) 406.49 338 T (its) 439.74 338 T (own) 454.33 338 T (policy) 478.24 338 T (of) 511.5 338 T (how) 524.75 338 T (to) 548.66 338 T 54 482/G3.1005381 FmPA (locate) 108 324 T (and) 140.4 324 T (construct) 161.48 324 T (initial) 209.22 324 T (context) 240.97 324 T (implementations.) 280.05 324 T (When) 366.8 324 T (a) 399.2 324 T (builder) 408.27 324 T (has) 446.02 324 T (been) 465.76 324 T (installed,) 492.16 324 T (it) 539.58 324 T (is) 549.99 324 T (solely) 108 310 T (responsible) 140.39 310 T (for) 198.77 310 T (creating) 216.49 310 T (the) 258.87 310 T (initial) 277.25 310 T (context) 308.99 310 T (factories.) 348.04 310 T (None) 396.08 310 T (of) 425.79 310 T (the) 439.51 310 T (default) 457.9 310 T (policies) 494.95 310 T (\050) 536 310 T 4 10 Q (ja-) 540 310 T (va.naming.factory.initial) 108 296 T 2 12 Q (property) 262.87 296 T (or) 308.4 296 T (URL) 323.27 296 T (support\051) 352.14 296 T (normally) 397.01 296 T (used) 445.21 296 T (by) 472.08 296 T (JNDI) 488.95 296 T (are) 519.82 296 T (em-) 539.34 296 T (ployed.) 108 282 T (An) 108 262 T (implementation) 125.21 262 T (of) 203.09 262 T (an) 215.64 262 T (initial) 229.51 262 T (context) 260.07 262 T (factory) 297.94 262 T (builder) 334.48 262 T (must) 371.02 262 T (implement) 396.9 262 T (the) 450.79 262 T 4 10 Q (InitialContext-) 468 262 T 54 406/G3.997027 FmPA (FactoryBuilder) 108 248 T 2 12 Q (interface.) 194.41 248 T (Its) 249.04 248 T 4 10 Q (createInitialContextFactory\050\051) 263.46 248 T 2 12 Q (method) 439.87 248 T (creates) 478.28 248 T (instances) 514.01 248 T (of) 108 234 T 4 10 Q (InitialContextFactory) 121 234 T 2 12 Q (.) 247 234 T (After) 108 214 T (a) 136.18 214 T (builder) 144.36 214 T (has) 181.22 214 T (been) 200.07 214 T (installed.) 225.59 214 T (the) 272.11 214 T (application) 289.64 214 T (can) 345.82 214 T (get) 365.34 214 T (the) 382.86 214 T (initial) 400.38 214 T (context) 431.25 214 T (by) 469.43 214 T (either) 484.29 214 T (using) 514.47 214 T (the) 543.34 214 T 54 358/G3.997030 FmPA 4 10 Q (InitialContext) 108 200 T 2 12 Q (/) 192 200 T 4 10 Q (InitialDirContext) 195.34 200 T 2 12 Q (/) 297.34 200 T 4 10 Q (InitialLdapContext) 300.67 200 T 2 12 Q (constructors,) 418.59 200 T (or) 490.16 200 T (by) 510.08 200 T (using) 532 200 T 4 10 Q (NamingManager.getInitialContext\050\051) 108 186 T 2 12 Q (.) 306 186 T (When) 311.61 186 T (one) 342.88 186 T (of) 362.81 186 T (the) 375.42 186 T (constructors) 392.69 186 T (is) 453.96 186 T (used,) 464.57 186 T (its) 492.17 186 T (class) 506.12 186 T (is) 532.06 186 T (ba-) 542.68 186 T (sically) 108 172 T (a) 144.47 172 T (wrapper) 154.94 172 T (around) 199.39 172 T (the) 237.85 172 T (underlying) 257.66 172 T (context) 314.79 172 T (implementation) 355.26 172 T (returned) 435.74 172 T (by) 480.86 172 T 4 10 Q (NamingMan-) 498 172 T (ager.getInitialContext\050\051) 108 158 T 2 12 Q (.) 252 158 T 3 14 Q (3.4) 72.5 130.67 T (Implementing a Subclass of InitialContext) 108 130.67 T 54 275/G3.1002587 FmPA 2 12 Q (When) 108 110 T (there) 139.83 110 T (is) 166.99 110 T (a) 178.16 110 T (need) 186.66 110 T (to) 212.49 110 T (provide) 225 110 T (an) 264.83 110 T (initial) 279.33 110 T (context) 310.51 110 T (that) 349.01 110 T (supports) 370.18 110 T (an) 414.02 110 T (interface) 428.52 110 T (that) 473.67 110 T (extends) 494.84 110 T (from) 534.67 110 T 54 254/G3.1001471 FmPA 4 10 Q (Context) 108 96 T 2 12 Q (,) 150 96 T 4 10 Q (DirContext) 155.53 96 T 2 12 Q (,) 215.53 96 T (or) 221.06 96 T 4 10 Q (LdapContext) 233.59 96 T 2 12 Q (,) 299.59 96 T (the) 305.12 96 T (service) 322.32 96 T (provider) 358.83 96 T (should) 402.02 96 T (supply) 436.55 96 T (a) 471.09 96 T (subclass) 478.95 96 T (of) 521.47 96 T 4 10 Q (Ini-) 534 96 T (tialContext) 108 82 T 2 12 Q ( \050or) 174 82 T 4 10 Q (InitialDirContext/InitialLdapContext) 193.99 82 T 2 12 Q (\051.) 409.99 82 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.23/DEST FmPD2 108 824/M3.9.19079.section.33.Overriding.the.Default.Behavior FmPA 108 824/I3.1.1005548 FmPA [/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 SPI) 54 749.33 T (The Initial Context) 482.44 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 12 Q 0 X (3.4.1) 66 712 T (URL Support) 108 712 T 54 856/G3.1005441 FmPA 2 F (To) 108 692 T (add) 124.33 692 T (support) 144.66 692 T (for) 183.67 692 T (URLs) 200.66 692 T (in) 232.33 692 T (the) 244.67 692 T (same) 262.34 692 T (way) 290 692 T 4 10 Q (InitialContext) 313 692 T 2 12 Q (and) 400 692 T 4 10 Q (InitialDirContext) 420.33 692 T 2 12 Q (do,) 525.33 692 T (the) 543.34 692 T 54 836/G3.1005440 FmPA (subclass) 108 678 T (should) 150.8 678 T (use) 185.62 678 T (the) 204.42 678 T (protected) 221.89 678 T (methods) 269.35 678 T (available) 312.83 678 T (in) 358.96 678 T 4 10 Q (InitialContext) 371.1 678 T 2 12 Q (as) 457.91 678 T (follows.) 470.71 678 T (This) 512.52 678 T (only) 536.66 678 T (makes sense for interfaces that have methods that accept name argument.) 108 664 T (For) 108 644 T (example,) 127.95 644 T (suppose) 174.89 644 T 4 10 Q (FooContext) 216.83 644 T 2 12 Q (is) 280.11 644 T (a) 291.4 644 T (subinterface) 300.01 644 T (of) 361.93 644 T 4 10 Q (DirContext) 375.21 644 T 2 12 Q (.) 435.21 644 T (Its) 441.49 644 T (initial) 456.77 644 T (context) 488.06 644 T (imple-) 526.67 644 T 54 788/G3.1001558 FmPA (mentation) 108 630 T (would) 158.52 630 T (define) 191.04 630 T 4 10 Q (getURLOrDefaultInitFooCtx\050\051) 223.55 630 T 2 12 Q (methods) 388.07 630 T (\050for) 431.26 630 T (both) 451.77 630 T 4 10 Q (Name) 475.63 630 T 2 12 Q (and) 502.15 630 T 4 10 Q (String) 522 630 T 2 12 Q (parameters\051 that retrieve the real initial context to use.) 108 616 T 4 10 Q (public class InitialFooContext extends InitialDirContext {) 140.4 597.33 T 54 741/G3.1001478 FmPA (...) 165.6 585.33 T 54 729/G3.1001479 FmPA (protected FooContext getURLOrDefaultInitFooCtx\050Name name\051) 165.6 573.33 T 54 717/G3.1001518 FmPA (throws NamingException {) 190.8 561.33 T 54 705/G3.1001484 FmPA (Context answer = getURLOrDefaultInitCtx\050name\051;) 190.8 549.33 T 54 693/G3.1001485 FmPA (if \050!\050answer instanceof FooContext\051\051 {) 190.8 537.33 T 54 681/G3.1001486 FmPA (throw new NoInitialContextException\050\322Not a FooContext\323\051;) 216 525.33 T 54 669/G3.1001487 FmPA (}) 190.8 513.33 T 54 657/G3.1001488 FmPA (return \050FooContext\051answer;) 190.8 501.33 T 54 645/G3.1001489 FmPA (}) 165.6 489.33 T 54 633/G3.1001490 FmPA (// similar code for getURLOrDefaultInitFooCtx\050String name\051) 165.6 477.33 T 54 621/G3.1001491 FmPA (}) 140.4 465.33 T 54 609/G3.1001492 FmPA 2 12 Q (When) 108 446 T (providing) 139.22 446 T (implementations) 188.45 446 T (for) 271.01 446 T (the) 287.56 446 T (new) 304.79 446 T (methods) 327.34 446 T (in) 370.57 446 T (the) 382.47 446 T 4 10 Q (FooContext) 399.69 446 T 2 12 Q (interface) 462.25 446 T (that) 506.79 446 T (accept) 527.35 446 T 54 590/G3.1001493 FmPA (a name argument,) 108 432 T 4 10 Q (getURLOrDefaultInitFooCtx\050\051) 196.64 432 T 2 12 Q ( is used in the following way.) 358.64 432 T 4 10 Q (public Object FooMethod1\050Name name, ...\051 throws NamingException {) 140.4 413.33 T 54 557/G3.1001503 FmPA (return getURLOrDefaultInitFooCtx\050name\051.FooMethod1\050name, ...\051;) 165.6 401.33 T 54 545/G3.1001504 FmPA (}) 140.4 389.33 T 54 533/G3.1001505 FmPA 3 12 Q (3.4.2) 66 367 T (New Method Support) 108 367 T 54 511/G3.1005470 FmPA 2 F (When) 108 347 T (providing) 139.27 347 T (implementations) 188.56 347 T (for) 271.18 347 T (the) 287.8 347 T (new) 305.08 347 T (methods) 327.69 347 T (in) 370.98 347 T (the) 382.93 347 T 4 10 Q (FooContext) 400.21 347 T 2 12 Q (interface) 462.83 347 T (that) 507.43 347 T (do) 528.04 347 T (not) 542.66 347 T 54 491/G3.1001506 FmPA (have) 108 333 T (a) 133.58 333 T (name) 141.84 333 T (argument,) 170.76 333 T (or) 222.01 333 T (for) 234.94 333 T (which) 251.86 333 T (URL) 284.11 333 T (support) 311.04 333 T (is) 349.97 333 T (not) 360.9 333 T (required,) 379.16 333 T (use) 425.08 333 T 4 10 Q (InitialContext.get-) 444 333 T (DefaultInitCtx\050\051) 108 319 T 2 12 Q (.) 204 319 T 4 10 Q (protected FooContext getDefaultInitFooCtx\050\051 throws NamingException {) 140.4 300.33 T 54 444/G3.1005786 FmPA (Context answer = getDefaultInitCtx\050\051;) 165.6 288.33 T 54 432/G3.1005787 FmPA (if \050!\050answer instanceof FooContext\051\051 {) 165.6 276.33 T 54 420/G3.1005788 FmPA (throw new NoInitialContextException\050\322Not an FooContext\323\051;) 190.8 264.33 T 54 408/G3.1005789 FmPA (}) 165.6 252.33 T 54 396/G3.1005790 FmPA (return \050FooContext\051answer;) 165.6 240.33 T 54 384/G3.1005791 FmPA (}) 140.4 228.33 T 54 372/G3.1005792 FmPA (public Object FooMethod2\050Args args\051 throws NamingException {) 140.4 216.33 T 54 360/G3.1005793 FmPA (return getDefaultInitFooCtx\050\051.FooMethod2\050args\051;) 165.6 204.33 T 54 348/G3.1005794 FmPA (}) 140.4 192.33 T 54 336/G3.1005795 FmPA 54 317/G3.1005784 FmPA 3 12 Q (3.4.3) 66 150 T (Constructors) 108 150 T 54 294/G3.1005483 FmPA 2 F (The) 108 130 T (implementation) 131.3 130 T (should) 211.28 130 T (provide) 247.92 130 T (appropriate) 289.22 130 T (constructors) 348.51 130 T (for) 411.81 130 T (the) 430.44 130 T (class.) 449.74 130 T (The) 480.71 130 T (constructor) 504.01 130 T 54 274/G3.1001563 FmPA (should) 108 116 T (call) 142.89 116 T (the) 163.11 116 T (appropriate) 180.66 116 T (constructor) 238.19 116 T (of) 295.07 116 T (the) 307.95 116 T (superclass.) 325.5 116 T (If) 380.71 116 T (the) 391.58 116 T (environment) 409.14 116 T (needs) 472.68 116 T (to) 502.89 116 T (be) 515.12 116 T (modi-) 529.33 116 T (fied) 108 102 T (or) 129.74 102 T (examined) 142.81 102 T (prior) 192.54 102 T (to) 218.95 102 T (the) 231.36 102 T (superclass\325s) 249.1 102 T (constructor) 310.16 102 T (being) 367.23 102 T (called,) 396.97 102 T (it) 431.7 102 T (should) 441.45 102 T (use) 476.53 102 T (the) 495.61 102 T (protected) 513.35 102 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.24/DEST 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 SPI) 54 749.33 T (The Initial Context) 482.44 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 2 12 Q 0 X (constructor) 108 712 T (that) 165.82 712 T (accepts) 187.66 712 T (a) 226.82 712 T (boolean) 235.98 712 T (flag) 277.81 712 T (to) 300.31 712 T (control) 313.48 712 T (the) 351.32 712 T (initialization) 369.82 712 T (of) 434.33 712 T (the) 448.16 712 T (initial) 466.66 712 T (context,) 498.51 712 T (and) 540.67 712 T (then use the) 108 698 T 4 10 Q (init\050\051) 168.32 698 T 2 12 Q ( method to initialize the context. Here is an example:) 204.32 698 T 4 10 Q (public InitialFooContext\050Hashtable environment, Object otherArg\051) 140.4 679.33 T 54 823/G3.1005502 FmPA ( throws NamingException {) 165.6 667.33 T 54 811/G3.1005504 FmPA (super\050true\051; // don\325t initialize yet) 165.6 655.33 T 54 799/G3.1005505 FmPA 54 787/G3.1005506 FmPA (// Clone environment and adjust) 165.6 631.33 T 54 775/G3.1005507 FmPA (Hashtable env = \050environment == null\051 ? new Hashtable\05011\051 :) 165.6 619.33 T 54 763/G3.1005508 FmPA (\050Hashtable\051environment.clone\050\051;) 190.8 607.33 T 54 751/G3.1005523 FmPA (...) 165.6 595.33 T 54 739/G3.1005524 FmPA (init\050env\051;) 165.6 583.33 T 54 727/G3.1005525 FmPA (}) 140.4 571.33 T 54 715/G3.1005526 FmPA 2 12 Q (Client programs that use this new initial context would look as follows.) 108 552 T 54 696/G3.1001565 FmPA 4 10 Q (import com.widget.jndi.InitialFooContext;) 140.4 533.33 T 54 677/G3.1001564 FmPA (...) 140.4 521.33 T 54 665/G3.1001566 FmPA (FooContext ctx = new InitialFooContext\050env\051;) 140.4 509.33 T 54 653/G3.1001567 FmPA (Object obj = ctx.lookup\050name\051;) 140.4 497.33 T 54 641/G3.1001609 FmPA (ctx.FooMethod1\050name, ...\051;) 140.4 485.33 T 54 629/G3.1001572 FmPA [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 3 18 Q 0 X (4) 81 708 T (Customizing A Context Implementation) 108 708 T 54 852/G3.997589 FmPA 2 12 Q (JNDI) 108 680 T (allows) 136.69 680 T (a) 170.73 680 T (context) 178.76 680 T (implementation) 216.78 680 T (to) 294.82 680 T (be) 306.86 680 T (customized\321by) 320.89 680 T (the) 402.25 680 T (application,) 419.61 680 T (the) 478.64 680 T (application\325s) 496.01 680 T 54 824/G3.1005806 FmPA (deployer) 108 666 T (or) 153.04 666 T (user,) 166.08 666 T (or) 192.12 666 T (the) 205.17 666 T (service) 222.88 666 T (provider\321in) 259.92 666 T (how) 324.96 666 T (it) 348.67 666 T (reads) 358.39 666 T (and) 386.76 666 T (stores) 407.14 666 T (objects) 438.19 666 T (in) 475.23 666 T (the) 487.62 666 T (naming/di-) 505.33 666 T (rectory service. A similar facility is also available for narrowing LDAP v3 control classes.) 108 652 T (You can think of these facilities as modules that plug into a context implementation.) 108 632 T 54 776/G3.1006157 FmPA 3 14 Q (4.1) 72.5 604.67 T (Reading Objects: Object Factories) 108 604.67 T 54 749/G3.1007760 FmPA 2 12 Q (JNDI) 108 584 T (provides) 136.82 584 T (a) 180.98 584 T (generic) 189.13 584 T (way) 227.27 584 T (of) 250.09 584 T (creating) 262.92 584 T (objects) 304.39 584 T (\050including) 341.22 584 T (instances) 393.38 584 T (of) 440.2 584 T 4 10 Q (Context) 453.02 584 T 2 12 Q (\051) 495.02 584 T (using) 501.84 584 T (infor-) 530.68 584 T 54 728/G3.1000783 FmPA (mation) 108 570 T (stored) 144.93 570 T (in) 177.84 570 T (the) 190.77 570 T (namespace.) 209.02 570 T (That) 268.25 570 T (information) 293.84 570 T (may) 354.09 570 T (be) 378.34 570 T (of) 393.26 570 T (arbitrary) 406.85 570 T (type) 451.75 570 T (\050) 476 570 T 4 10 Q (java.lang.Ob-) 480 570 T (ject) 108 556 T 2 12 Q (\051.) 132 556 T (For) 141.82 556 T (example,) 161.3 556 T (it) 207.78 556 T (may) 217.27 556 T (be) 240.76 556 T (a) 254.9 556 T 4 10 Q (Reference) 263.05 556 T 2 12 Q (,) 317.05 556 T (or) 322.87 556 T (a) 335.69 556 T (URL,) 343.84 556 T (or) 373.66 556 T (any) 386.47 556 T (other) 406.62 556 T (data) 434.1 556 T (required) 456.91 556 T (to) 499.72 556 T (create) 511.87 556 T (the) 543.34 556 T (object.) 108 542 T (Turning) 143.59 542 T (such) 185.51 542 T (information) 210.77 542 T (stored) 270.69 542 T (in) 303.28 542 T (the) 315.88 542 T (namespace) 333.8 542 T (into) 389.71 542 T (an) 411.64 542 T (object) 426.23 542 T (is) 458.82 542 T (supported) 470.08 542 T (through) 520.67 542 T (the) 108 528 T (use) 125.36 528 T (of) 144.04 528 T 0 F (object) 156.73 528 T (factories) 188.75 528 T 2 F (.) 230.75 528 T (An) 236.44 528 T (object) 253.8 528 T (factory) 285.82 528 T (is) 322.5 528 T (a) 333.19 528 T (class) 341.21 528 T (that) 367.23 528 T (implements) 387.92 528 T (the) 446.62 528 T 4 10 Q (ObjectFactory) 463.98 528 T 2 12 Q (in-) 544.67 528 T (terface \050or the) 108 514 T 4 10 Q (DirObjectFactory) 178.3 514 T 2 12 Q ( subinterface\051:) 274.3 514 T 4 10 Q (public interface ObjectFactory {) 140.4 495.33 T 54 639/G3.1000784 FmPA (public Object getObjectInstance\050Object refObj,) 165.6 483.33 T 54 627/G3.1000785 FmPA ( Name name,) 342 471.33 T 54 615/G3.1002289 FmPA ( Context nameCtx,) 342 459.33 T 54 603/G3.1002290 FmPA ( Hashtable env\051) 342 447.33 T 54 591/G3.1000786 FmPA (throws Exception;) 190.8 435.33 T (}) 140.4 423.33 T 54 567/G3.1000787 FmPA (public interface DirObjectFactory extends ObjectFactory {) 140.4 411.33 T 54 555/G3.1006145 FmPA (public Object getObjectInstance\050Object refObj,) 165.6 399.33 T 54 543/G3.1006150 FmPA ( Name name,) 342 387.33 T 54 531/G3.1006151 FmPA ( Context nameCtx,) 342 375.33 T 54 519/G3.1006152 FmPA ( Hashtable env,) 342 363.33 T 54 507/G3.1006153 FmPA ( Attributes attrs\051) 342 351.33 T 54 495/G3.1006156 FmPA (throws Exception;) 190.8 339.33 T (}) 140.4 327.33 T 54 471/G3.1006146 FmPA 2 12 Q (Given) 108 308 T (some) 141.18 308 T (reference) 170.37 308 T (information) 218.85 308 T (\050) 279.37 308 T 4 10 Q (refObj) 283.37 308 T 2 12 Q (\051) 319.37 308 T (about) 327.22 308 T (an) 357.74 308 T (object,) 372.92 308 T (optional) 409.11 308 T (information) 452.3 308 T (about) 512.82 308 T (the) 543.34 308 T 54 452/G3.1000788 FmPA (name) 108 294 T (of) 137.45 294 T (the) 150.9 294 T (object) 169.02 294 T (and) 201.8 294 T (where) 222.59 294 T (it) 255.36 294 T (is) 265.49 294 T (bound,) 276.95 294 T (and) 313.4 294 T (optionally) 334.19 294 T (some) 386.32 294 T (additional) 415.1 294 T (environment) 466.56 294 T (infor-) 530.67 294 T (mation) 108 280 T (\050for) 144.98 280 T (example,) 166.61 280 T (some) 213.91 280 T (identity) 242.89 280 T (or) 283.2 280 T (authentication) 296.84 280 T (information) 368.48 280 T (about) 428.79 280 T (the) 459.1 280 T (user) 477.4 280 T (creating) 501.04 280 T (the) 543.34 280 T (object\051,) 108 266 T (the) 147.62 266 T (factory) 165.57 266 T (attempts) 202.85 266 T (to) 246.81 266 T (create) 259.43 266 T (an) 291.37 266 T (object) 305.99 266 T (represented) 338.61 266 T (by) 397.21 266 T (the) 412.5 266 T (reference) 430.46 266 T (information.) 478.38 266 T (For) 541.33 266 T (example,) 108 252 T (given) 154.95 252 T (reference) 184.9 252 T (information) 232.82 252 T (about) 292.77 252 T (a) 322.73 252 T (printer,) 331.35 252 T (a) 369.63 252 T (printer) 378.25 252 T (object) 413.53 252 T (factory) 446.15 252 T (might) 483.43 252 T (return) 514.72 252 T (an) 546.67 252 T (instance) 108 238 T (of) 150.31 238 T 4 10 Q (Printer) 163.29 238 T 2 12 Q (.) 205.29 238 T (In) 211.28 238 T (the) 224.26 238 T (case) 241.91 238 T (of) 265.54 238 T (an) 278.52 238 T (object) 292.84 238 T (factory) 325.15 238 T (that) 362.12 238 T (is) 383.11 238 T (to) 394.1 238 T (be) 406.42 238 T (used) 420.73 238 T (with) 445.71 238 T (a) 470.03 238 T 4 10 Q (DirContext) 478.35 238 T 2 12 Q (im-) 541.33 238 T (plementation,) 108 224 T (the) 176.72 224 T (factory) 194.43 224 T (is) 231.47 224 T (also) 242.53 224 T (given) 264.91 224 T (some) 294.63 224 T (attributes) 323.02 224 T (about) 370.73 224 T (the) 400.45 224 T (object.) 418.17 224 T (If) 453.55 224 T (the) 464.59 224 T (factory) 482.31 224 T (requires) 519.35 224 T (more) 108 210 T (attributes) 136.19 210 T (or) 184.39 210 T (information,) 197.92 210 T (it) 261.12 210 T (can) 271.32 210 T (obtain) 291.51 210 T (them) 325.04 210 T (directly) 352.58 210 T (from) 392.77 210 T (the) 419.63 210 T (naming/directory) 437.83 210 T (service) 524.02 210 T (by using the) 108 196 T 4 10 Q (name) 169.67 196 T 2 12 Q (/) 193.67 196 T 4 10 Q (nameCtx) 197 196 T 2 12 Q ( arguments.) 239 196 T (If) 108 176 T (the) 118.71 176 T (factory) 136.09 176 T (cannot) 172.79 176 T (created) 207.5 176 T (an) 244.86 176 T (object) 258.9 176 T (using) 290.94 176 T (the) 319.66 176 T (arguments) 337.04 176 T (supplied,) 389.75 176 T (it) 436.14 176 T (should) 445.52 176 T (return) 480.24 176 T 4 10 Q (null) 511.62 176 T 2 12 Q (.) 535.62 176 T (For) 541.33 176 T 54 320/G3.1006175 FmPA (example,) 108 162 T (when) 154.85 162 T (a) 184.03 162 T (printer) 192.55 162 T (object) 227.74 162 T (factory) 260.26 162 T (is) 297.43 162 T (given) 308.63 162 T (data) 338.48 162 T (about) 361.67 162 T (a) 391.52 162 T (disk) 400.04 162 T (drive,) 423.24 162 T (it) 454.09 162 T (should) 463.96 162 T (return) 499.15 162 T 4 10 Q (null) 531 162 T 2 12 Q (.) 555 162 T (The) 108 148 T (factory) 129.13 148 T (should) 165.59 148 T (only) 200.07 148 T (thrown) 223.88 148 T (an) 260.34 148 T (exception) 274.14 148 T (if) 323.27 148 T (no) 333.08 148 T (other) 347.55 148 T (object) 374.68 148 T (factories) 406.48 148 T (should) 450.27 148 T (be) 484.75 148 T (tried.) 498.55 148 T (There-) 526.02 148 T (fore,) 108 134 T (the) 133.28 134 T (factory) 150.9 134 T (should) 187.85 134 T (be) 222.81 134 T (careful) 237.1 134 T (about) 273.37 134 T (runtime) 303 134 T (exceptions) 343.29 134 T (that) 397.57 134 T (might) 418.53 134 T (be) 449.5 134 T (thrown) 463.79 134 T (from) 500.74 134 T (its) 527.03 134 T (im-) 541.33 134 T (plementation.) 108 120 T (For) 176.63 120 T (example,) 196.26 120 T (if) 242.88 120 T (a) 253.17 120 T (printer) 261.46 120 T (object) 296.42 120 T (factory) 328.71 120 T (is) 365.66 120 T (given) 376.62 120 T (data) 406.25 120 T (about) 429.21 120 T (a) 458.83 120 T (printer) 467.13 120 T (but) 502.08 120 T (the) 520.38 120 T (data) 538.01 120 T (is malformed in some way, it should throw an exception.) 108 106 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.26/DEST FmPD2 220 758/M3.9.36911.section.42.Object.Factories FmPA 220 758/I3.1.1000781 FmPA 108 864/M3.9.18363.chapter.4.Customizing.A.Context.Implementation FmPA 108 864/I3.1.1007366 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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 (Object) 108 712 T (factories) 142.74 712 T (are) 186.8 712 T (used) 204.2 712 T (in) 228.95 712 T (several) 241.03 712 T (places) 277.76 712 T (in) 310.49 712 T (JNDI,) 322.58 712 T (basically) 354.32 712 T (to) 399.72 712 T (turn) 411.81 712 T (any) 433.89 712 T (reference) 453.96 712 T (information) 501.34 712 T 54 856/G3.1006192 FmPA (into) 108 698 T (an) 129.47 698 T (object.) 143.59 698 T (They) 178.71 698 T (are) 206.17 698 T (used) 223.62 698 T (in) 248.41 698 T (federation,) 260.54 698 T (URL) 314.98 698 T (processing) 341.78 698 T (in) 395.9 698 T (the) 408.03 698 T (initial) 425.49 698 T (context,) 456.29 698 T (and,) 497.41 698 T (as) 520.54 698 T (illus-) 533.33 698 T (trated by the printer example, turning data into a form expected by the application.) 108 684 T 3 F (4.1.1) 66 661 T (Handling Structured References) 108 661 T 54 805/G3.1006206 FmPA 2 F (A) 108 641 T 4 10 Q (Reference) 121.7 641 T 2 12 Q (contains) 178.21 641 T (methods) 220.72 641 T (for) 263.91 641 T (returning) 280.42 641 T (the) 326.92 641 T (class) 344.1 641 T (name) 369.95 641 T (and) 398.46 641 T (location) 418.3 641 T (of) 459.48 641 T (the) 471.99 641 T (object) 489.17 641 T (factory.) 521.02 641 T 54 785/G3.1006207 FmPA (The following methods are found in) 108 627 T 4 10 Q (Reference) 283.98 627 T 2 12 Q (.) 337.98 627 T 4 10 Q (public class Reference {) 140.4 608.33 T 54 752/G3.1006208 FmPA (...) 165.6 596.33 T 54 740/G3.1006209 FmPA (public String) 165.6 584.33 T (getClassName\050\051;) 249.6 584.33 T 54 728/G3.1006210 FmPA (public String getFactoryClassName\050\051;) 165.6 572.33 T 54 716/G3.1006211 FmPA (public String getFactoryClassLocation\050\051;) 165.6 560.33 T 54 704/G3.1006212 FmPA (}) 140.4 548.33 T 54 692/G3.1006213 FmPA 2 12 Q (If) 108 529 T (the) 119.86 529 T (object) 138.38 529 T (read) 171.57 529 T (from) 196.09 529 T (the) 223.28 529 T (directory/naming) 241.81 529 T (service) 328.33 529 T (is) 366.17 529 T (an) 378.04 529 T (instance) 393.23 529 T (of) 436.42 529 T 4 10 Q (Reference) 450.28 529 T 2 12 Q (or) 508.14 529 T 4 10 Q (Refer-) 522 529 T 54 673/G3.1006214 FmPA (enceable) 108 515 T 2 12 Q (,) 156 515 T (its) 163.01 515 T (corresponding) 178.35 515 T (object) 251.01 515 T (factory) 284.34 515 T (can) 322.33 515 T (be) 342.99 515 T (located) 358.32 515 T (using) 396.98 515 T (information) 426.99 515 T (in) 487.66 515 T 4 10 Q (Reference) 501 515 T 2 12 Q (.) 555 515 T (The) 108 501 T 4 10 Q (getFactoryClassName\050\051) 129.51 501 T 2 12 Q (method) 258.37 501 T (retrieves) 297.22 501 T (the) 341.39 501 T (name) 358.91 501 T (of) 387.76 501 T (the) 400.61 501 T (factory) 418.12 501 T (class) 454.96 501 T (that) 481.14 501 T (implements) 502 501 T (the) 108 487 T 4 10 Q (ObjectFactory) 125.7 487 T 2 12 Q (interface.) 206.74 487 T (This) 254.76 487 T (factory) 279.13 487 T (must) 316.16 487 T (implement) 342.54 487 T (the) 396.91 487 T 4 10 Q (ObjectFactory) 414.62 487 T 2 12 Q (interface) 495.66 487 T (and) 540.67 487 T (have) 108 473 T (a) 133.1 473 T (public) 140.86 473 T (constructor) 173.3 473 T (that) 229.73 473 T (takes) 250.17 473 T (no) 277.27 473 T (arguments.) 291.71 473 T 4 10 Q (getFactoryClassLocation\050\051) 347.14 473 T 2 12 Q (retrieves) 499.58 473 T (the) 543.34 473 T (codebase of the class implementation for the factory, which is a list of space-separated URLs.) 108 459 T (JNDI) 108 439 T (creates) 137.1 439 T (the) 173.51 439 T (object) 191.28 439 T (by) 223.71 439 T (invoking) 238.82 439 T 4 10 Q (getObjectInstance\050\051) 284.59 439 T 2 12 Q (on) 401.7 439 T (the) 416.8 439 T 4 10 Q (ObjectFactory) 434.57 439 T 2 12 Q (instance,) 515.68 439 T 54 583/G3.1006215 FmPA (by) 108 425 T (using) 123.98 425 T (the) 153.97 425 T 4 10 Q (Reference) 172.61 425 T 2 12 Q (and) 230.59 425 T (environment) 251.9 425 T (as) 316.55 425 T (arguments.) 330.52 425 T (The) 387.5 425 T (result) 410.14 425 T (is) 440.78 425 T (an) 452.77 425 T (instance) 468.08 425 T (of) 511.38 425 T (a) 525.36 425 T (class) 534.67 425 T (identified by) 108 411 T 4 10 Q (getClassName\050\051) 172 411 T 2 12 Q (.) 256 411 T (Note) 108 391 T (that) 134.09 391 T (all) 154.85 391 T (the) 169.61 391 T (classes) 187.04 391 T (necessary) 223.12 391 T (to) 272.53 391 T (instantiate) 284.63 391 T (the) 336.72 391 T (object) 354.15 391 T (returned) 386.24 391 T (to) 428.98 391 T (the) 441.08 391 T (application) 458.5 391 T (are) 514.59 391 T (made) 532.01 391 T 54 535/G3.1006216 FmPA (available) 108 377 T (using) 155.85 377 T (mechanisms) 186.39 377 T (provided) 250.25 377 T (by) 297.44 377 T (JNDI.) 313.97 377 T (The) 347.5 377 T (application) 370.69 377 T (doesn\325t) 428.55 377 T (have) 468.41 377 T (to) 495.6 377 T (install) 509.46 377 T (the) 543.34 377 T (classes locally.) 108 363 T 3 10 Q (Figur) 54 344.33 T (e 3: Example Using Refer) 77.71 344.33 T (ence to Get Back An Object Fr) 186.4 344.33 T (om the Namespace) 317.86 344.33 T 54 488/G3.1006266 FmPA 2 12 Q (Returning) 108 137 T (to) 158.32 137 T (the) 169.97 137 T (printer) 186.95 137 T (example,) 221.26 137 T (suppose) 267.23 137 T 4 10 Q (Printer) 308.21 137 T 2 12 Q (is) 352.52 137 T (an) 362.84 137 T (interface) 376.49 137 T (for) 420.78 137 T (representing) 437.09 137 T (a) 498.72 137 T (printer) 506.36 137 T (and) 540.67 137 T 54 281/G3.1006267 FmPA (the) 108 123 T 4 10 Q (BSDPrinter) 125.14 123 T 2 12 Q (class) 187.61 123 T (is) 213.42 123 T (an) 223.9 123 T (implementation) 237.7 123 T (of) 315.51 123 T (that) 327.98 123 T (interface.) 348.46 123 T 4 10 Q (BSDPrinter) 395.91 123 T 2 12 Q (implements) 458.38 123 T (the) 516.86 123 T 4 10 Q (Ref-) 534 123 T (erenceable) 108 109 T 2 12 Q (interface) 171.29 109 T (and) 216.55 109 T (uses) 237.16 109 T (the) 261.11 109 T 4 10 Q (Reference) 279.06 109 T 2 12 Q (class) 336.35 109 T (to) 362.96 109 T (store) 375.58 109 T (information) 402.2 109 T (on) 462.15 109 T (how) 477.43 109 T (to) 501.39 109 T (construct) 514.01 109 T (instances) 108 95 T (of) 154.3 95 T 4 10 Q (BSDPrinter) 166.61 95 T 2 12 Q (and) 228.92 95 T (address) 248.56 95 T (information) 286.86 95 T (for) 345.83 95 T (communicating) 362.14 95 T (with) 439.11 95 T (the) 462.76 95 T (print) 479.73 95 T (server.) 504.71 95 T (The) 539.34 95 T 4 10 Q (Reference) 108 81 T 2 12 Q (contains) 164.47 81 T (the) 206.94 81 T (class) 224.08 81 T (name) 249.88 81 T (of) 278.34 81 T (the) 290.81 81 T (object) 307.94 81 T (\050\322) 339.74 81 T 4 10 Q (Printer\323) 349.07 81 T 2 12 Q (\051,) 397.07 81 T (the) 406.54 81 T (class) 423.67 81 T (name) 449.47 81 T (of) 477.94 81 T (the) 490.4 81 T (printer) 507.54 81 T (ob-) 542 81 T 54 153 558 341 C 0 0 0 1 0 0 0 1 K 171 260.5 189 278.5 R 3 X V 0.5 H 2 Z 0 X N 4 9 Q (PrinterFactory) 92.68 265.6 T 225 188.5 279 242.5 R N 380.02 279.36 468 251.5 2 L N 375.39 234.17 468 251.5 2 L N 486 278.5 468 260.5 2 L N 486 278.5 504 251.5 2 L N 486 278.5 540 251.5 2 L N 468 251.5 458.68 215.5 2 L N 2 10 Q (Printer) 318.02 308.1 T 4 9 Q (Reference) 348.24 308.1 T 180.9 289.49 183.53 289.28 180.15 280.31 178.26 289.71 4 Y 1 H 0 Z N 180.9 289.49 183.53 289.28 180.15 280.31 178.26 289.71 4 Y V 180.94 289.99 M 182.11 304.39 190.07 314.5 198 314.5 D 0.5 H 2 Z N 224.82 230.62 226.29 232.82 232.49 225.51 223.35 228.42 4 Y 1 H 0 Z N 224.82 230.62 226.29 232.82 232.49 225.51 223.35 228.42 4 Y V 180 260.5 224.4 230.9 2 L 0.5 H 2 Z N 234 206.5 243 224.5 4.5 RR V N 2 10 Q (namespace) 468 188.5 T (application) 234 170.5 T 411.97 205.83 411.93 208.48 421.19 205.97 412.01 203.19 4 Y 1 H 0 Z N 411.97 205.83 411.93 208.48 421.19 205.97 412.01 203.19 4 Y V 279 203.83 411.47 205.83 2 L 0.5 H 2 Z N (lookup printer name) 306 188.8 T J 407.04 260.5 407.04 257.86 397.81 260.5 407.04 263.14 4 Y 1 H 0 Z N 407.04 260.5 407.04 257.86 397.81 260.5 407.04 263.14 4 Y V J 414 260.5 407.54 260.5 2 L 0.5 H 2 Z N J 4 9 Q (Printer) 153 216.3 T 2 10 Q (object) 193.8 216.3 T J (bound in namespace) 321.02 296.1 T 324.88 233 387 283.13 18 RR 5 X V 0 X N 333 260 342 269 R 3 X V 0 X N 0 90 135 45.5 198 269 A 4 9 Q (getObjectInstance\050\051) 216 316.6 T 7 X 90 450 9 9 486 278.5 G 0 X 90 450 9 9 486 278.5 A 7 X 90 450 9 9 504 251.5 G 0 X 90 450 9 9 504 251.5 A 7 X 90 450 8.68 9 458.68 215.5 G 0 X 90 450 8.68 9 458.68 215.5 A 7 X 90 450 9 9 540 251.5 G 0 X 90 450 9 9 540 251.5 A 7 X 90 450 9 9 468 251.5 G 0 X 90 450 9 9 468 251.5 A 7 X 90 450 5 5 361.67 177 G 0 X 90 450 5 5 361.67 177 A (1) 358.33 174.5 T 7 X 90 450 5 5 423 254.83 G 0 X 90 450 5 5 423 254.83 A (2) 419.67 252.33 T 7 X 90 450 5 5 242.67 299.33 G 0 X 90 450 5 5 242.67 299.33 A (3) 239.33 296.83 T 7 X 90 450 5 5 181.83 241 G 0 X 90 450 5 5 181.83 241 A (4) 178.5 238.5 T 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.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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 2 12 Q 0 X (ject) 108 712 T (factory) 129 712 T (\050\322) 166.66 712 T 4 10 Q (PrinterFactory) 175.98 712 T 2 12 Q (\323\051) 259.98 712 T (and) 272.98 712 T (a) 293.98 712 T (URL) 302.99 712 T (for) 330.66 712 T (loading) 348.33 712 T (the) 388 712 T (factory\325s) 406.34 712 T (class) 452.66 712 T (implementation.) 479.66 712 T (Using) 108 698 T (the) 139.03 698 T (factory) 156.06 698 T (class) 192.41 698 T (name) 218.1 698 T (and) 246.46 698 T (implementation) 266.15 698 T (location,) 343.86 698 T (JNDI) 387.88 698 T (first) 416.24 698 T (loads) 437.94 698 T (the) 465.64 698 T (implementation) 482.66 698 T (of) 108 684 T 4 10 Q (PrinterFactory) 120.94 684 T 2 12 Q (and) 207.88 684 T (creates) 228.16 684 T (an) 264.41 684 T (instance) 278.69 684 T (of) 320.95 684 T 4 10 Q (PrinterFactory) 333.89 684 T 2 12 Q (.) 417.89 684 T (It) 423.84 684 T (then) 434.11 684 T (invokes) 457.72 684 T 4 10 Q (getObject-) 498 684 T (Instance\050\051) 108 670 T 2 12 Q (on) 170.87 670 T (the) 185.73 670 T (factory) 203.26 670 T (to) 240.11 670 T (create) 252.31 670 T (an) 283.82 670 T (instance) 298.01 670 T (of) 340.2 670 T 4 10 Q (Printer) 353.06 670 T 2 12 Q (using) 397.92 670 T (the) 426.79 670 T (reference.) 444.32 670 T (For) 494.81 670 T (example,) 514.34 670 T (one) 108 656 T (address) 127.98 656 T (in) 166.62 656 T (the) 178.62 656 T (reference) 195.93 656 T (may) 243.21 656 T (have) 266.53 656 T (an) 291.84 656 T (address) 305.83 656 T (of) 344.47 656 T (type) 357.12 656 T (\322) 380.44 656 T 4 10 Q (bsd) 385.76 656 T 2 12 Q (\323,) 403.76 656 T (and) 414.75 656 T (contains) 434.73 656 T (the) 477.38 656 T (print) 494.7 656 T (server\325s) 520.02 656 T (host) 108 642 T (name) 133.16 642 T (\050\322) 164.3 642 T 4 10 Q (lobby-printserver) 173.63 642 T 2 12 Q (\323\051.) 275.63 642 T (The) 293.11 642 T 4 10 Q (PrinterFactory) 316.92 642 T 2 12 Q (instance) 406.08 642 T (uses) 450.56 642 T (the) 476.37 642 T (address) 496.19 642 T (type) 537.34 642 T (\050\322) 108 628 T 4 10 Q (bsd) 117.32 628 T 2 12 Q (\323\051) 135.32 628 T (to) 148.19 628 T (decide) 161.08 628 T (to) 195.94 628 T (create) 208.83 628 T (a) 241.02 628 T 4 10 Q (BSDPrinter) 249.89 628 T 2 12 Q (instance) 313.44 628 T (and) 356.31 628 T (passes) 377.18 628 T (the) 411.39 628 T (address) 429.6 628 T (contents) 469.13 628 T (\050\322) 512.68 628 T 4 10 Q (lobby-) 522 628 T (printserver) 108 614 T 2 12 Q (\323\051) 174 614 T (to) 186.23 614 T (its) 198.46 614 T (constructor.) 212.7 614 T (The) 272.59 614 T (resulting) 294.15 614 T 4 10 Q (BSDPrinter) 339.05 614 T 2 12 Q (object) 401.96 614 T (is) 434.19 614 T (returned) 445.09 614 T (as) 487.98 614 T (the) 500.87 614 T (result) 518.44 614 T (of) 548 614 T 4 10 Q (lookup\050\051) 108 600 T 2 12 Q (.) 156 600 T (From) 108 580 T (the) 136.96 580 T (context) 154.58 580 T (implementation\325s) 192.86 580 T (point) 279.82 580 T (of) 307.45 580 T (view,) 320.4 580 T (all) 349.68 580 T (of) 364.64 580 T (this) 377.59 580 T (is) 397.89 580 T (done) 408.85 580 T (automatically) 435.13 580 T (by) 503.42 580 T (its) 518.37 580 T (invo-) 532.67 580 T 54 724/G3.1006379 FmPA (cation of) 108 566 T 4 10 Q (NamingManager) 153.32 566 T 2 12 Q (/) 231.32 566 T 4 10 Q (DirectoryManager.getObjectInstance\050\051) 234.66 566 T 2 12 Q (.) 450.66 566 T (When) 108 546 T (the) 139.19 546 T (application) 156.38 546 T (invokes) 212.24 546 T 4 10 Q (print\050\051) 252.11 546 T 2 12 Q (on) 296.64 546 T (the) 311.17 546 T 4 10 Q (BSDPrinter) 328.37 546 T 2 12 Q (instance) 390.9 546 T (returned) 432.76 546 T (by) 475.27 546 T 4 10 Q (lookup\050\051) 489.8 546 T 2 12 Q (,) 537.8 546 T (the) 543.34 546 T 54 690/G3.1006268 FmPA (data) 108 532 T (is) 131.21 532 T (sent) 142.43 532 T (to) 164.98 532 T (the) 177.54 532 T (print) 195.42 532 T (server) 221.31 532 T (on) 253.84 532 T (the) 269.06 532 T (machine) 286.94 532 T (\322) 330.82 532 T 4 10 Q (lobby-printserver) 336.15 532 T 2 12 Q (\323) 438.15 532 T (for) 446.69 532 T (printing.) 463.9 532 T (The) 508.12 532 T (appli-) 530 532 T (cation) 108 518 T (need) 140.38 518 T (not) 166.08 518 T (know) 184.47 518 T (the) 214.18 518 T (details) 231.89 518 T (of) 266.27 518 T (the) 279.32 518 T 4 10 Q (Reference) 297.03 518 T 2 12 Q (stored) 354.08 518 T (in) 386.46 518 T (the) 398.84 518 T (namespace,) 416.55 518 T (the) 475.25 518 T (protocol) 492.96 518 T (used) 536 518 T (to) 108 504 T (perform) 119.74 504 T (the) 160.79 504 T (job,) 177.86 504 T (or) 198.59 504 T (whether) 210.99 504 T (the) 252.04 504 T 4 10 Q (BSDPrinter) 269.11 504 T 2 12 Q (class) 331.51 504 T (was) 357.24 504 T (defined) 378.3 504 T (locally) 416.69 504 T (or) 451.76 504 T (loaded) 464.15 504 T (over) 498.55 504 T (the) 522.27 504 T (net-) 539.34 504 T (work.) 108 490 T (The) 138.16 490 T (transformation) 159.33 490 T (of) 232.49 490 T (the) 244.99 490 T (information) 262.16 490 T (stored) 321.33 490 T (in) 353.16 490 T (the) 365 490 T (underlying) 382.17 490 T (service) 436.67 490 T (into) 473.16 490 T (an) 494.33 490 T (object) 508.17 490 T (that) 540 490 T (implements) 108 476 T (the) 166.84 476 T 4 10 Q (Printer) 184.35 476 T 2 12 Q (interface) 229.19 476 T (is) 274 476 T (done) 284.85 476 T (transparently) 311.02 476 T (through) 376.51 476 T (the) 416.68 476 T (cooperation) 434.18 476 T (of) 493.68 476 T (the) 506.51 476 T (service) 524.02 476 T (provider) 108 462 T (\050which) 152.52 462 T (stores) 189.71 462 T (bindings) 221.58 462 T (of) 266.78 462 T (printer) 280.65 462 T (names) 316.51 462 T (to) 351.03 462 T (printer) 364.24 462 T (address) 400.1 462 T (information\051,) 439.95 462 T (the) 507.48 462 T (printer) 526.01 462 T (service) 108 448 T (provider) 144.38 448 T (\050which) 187.44 448 T (provides) 223.17 448 T (the) 266.9 448 T 4 10 Q (PrinterFactory) 283.96 448 T 2 12 Q (and) 370.36 448 T 4 10 Q (BSDPrinter) 390.09 448 T 2 12 Q (classes\051,) 452.49 448 T (and) 495.21 448 T (the) 514.94 448 T (JNDI) 532.01 448 T (SPI) 108 434 T (framework) 128.3 434 T (\050which) 183.91 434 T (ties) 220.2 434 T (the) 239.83 434 T (two) 257.46 434 T (together) 278.42 434 T (to) 320.71 434 T (return) 333.01 434 T (an) 364.62 434 T (object) 378.92 434 T (that) 411.21 434 T (the) 432.17 434 T (application) 449.8 434 T (can) 506.09 434 T (use) 525.71 434 T (di-) 544.67 434 T (rectly\051.) 108 420 T (A service provider for such an object must do the following:) 108 400 T 54 544/G3.1006526 FmPA (1.) 126 380 T (Define) 144 380 T (the) 179.84 380 T (class) 197.69 380 T (for) 224.2 380 T (the) 241.38 380 T (object) 259.23 380 T (\050e.g.,) 291.75 380 T 4 10 Q (BSDPrinter) 319.26 380 T 2 12 Q (\051) 379.26 380 T (that) 386.44 380 T (implements) 407.63 380 T 4 10 Q (Referenceable) 466.82 380 T 2 12 Q (or) 548 380 T 54 524/G3.1006527 FmPA (is a subclass of) 144 366 T 4 10 Q (Reference) 219.32 366 T 2 12 Q (.) 273.32 366 T (2.) 126 346 T (Define the) 144 346 T 4 10 Q (Reference) 197.32 346 T 2 12 Q ( and its reference addresses for the object.) 251.32 346 T 54 490/G3.1006528 FmPA (3.) 126 326 T (Define) 144 326 T (a) 179.99 326 T (factory) 188.66 326 T (class) 225.98 326 T (that) 252.65 326 T (implements) 273.98 326 T 4 10 Q (ObjectFactory) 333.33 326 T 2 12 Q (\050e.g.,) 414.67 326 T 4 10 Q (PrinterFactory) 442.33 326 T 2 12 Q (\051.) 526.33 326 T (This) 536.66 326 T 54 470/G3.1006546 FmPA (class\325s) 144 312 T 4 10 Q (getObjectInstance\050\051) 179.11 312 T 2 12 Q (method) 296.22 312 T (will) 335.34 312 T (create) 357.13 312 T (an) 388.89 312 T (instance) 403.33 312 T (of) 445.77 312 T (the) 458.88 312 T (class) 476.66 312 T (from) 503.11 312 T (step) 529.55 312 T (1) 552 312 T (\050e.g.,) 144 298 T 4 10 Q (BSDPrinter) 171.32 298 T 2 12 Q (\051 when given the) 231.32 298 T 4 10 Q (Reference) 314.64 298 T 2 12 Q ( from step 2.) 368.64 298 T 3 F (4.1.2) 66 275 T (Handling URL References) 108 275 T 54 419/G3.1006384 FmPA 2 F (If) 108 255 T (a) 118.64 255 T 4 10 Q (Reference) 126.62 255 T 2 12 Q (contains) 183.27 255 T (an) 225.92 255 T (address) 239.9 255 T (of) 278.54 255 T (type) 291.19 255 T (\322URL\323) 314.5 255 T (but) 351.81 255 T (not) 369.8 255 T (the) 387.78 255 T (factory) 405.1 255 T (class) 441.73 255 T (name) 467.71 255 T (and) 496.36 255 T (location,) 516.34 255 T 54 399/G3.1006385 FmPA (or) 108 241 T (if) 121.04 241 T (the) 131.42 241 T (reference) 149.13 241 T (is) 196.8 241 T (an) 207.85 241 T (array) 222.22 241 T (of) 249.92 241 T (strings) 262.96 241 T (containing) 298.01 241 T (URLs,) 351.72 241 T (JNDI) 386.43 241 T (will) 415.47 241 T (use) 437.18 241 T (the) 456.22 241 T (URL) 473.93 241 T (context) 500.98 241 T (fac-) 539.35 241 T (tory) 108 227 T (support) 130.28 227 T (described) 169.22 227 T (in) 218.15 227 T (Section) 230.43 227 T (3.2) 269.37 227 T (to) 287.32 227 T (locate) 299.6 227 T (the) 331.2 227 T (factory,) 348.81 227 T (and) 388.73 227 T (then) 409.01 227 T (pass) 432.61 227 T (the) 456.22 227 T (URL) 473.83 227 T (string) 500.77 227 T (in) 531.06 227 T (the) 543.34 227 T (address) 108 213 T (to) 146.85 213 T (the) 159.06 213 T (factory\325s) 176.59 213 T 4 10 Q (getObjectInstance\050\051) 222.1 213 T 2 12 Q (method.) 338.97 213 T (See) 380.83 213 T (Section) 401.03 213 T (4.1.6) 439.89 213 T (for) 466.76 213 T (a) 483.62 213 T (description) 491.81 213 T (of) 548 213 T (how JNDI expects a URL context factory implementation to behave.) 108 199 T (A service provider for such an object must do the following:) 108 179 T 54 323/G3.1006557 FmPA (1.) 126 159 T (Define the class for the object \050e.g.,) 144 159 T 4 10 Q (BSDPrinter) 317.95 159 T 2 12 Q (\051.) 377.95 159 T 54 303/G3.1006558 FmPA (2.) 126 139 T (Define the URL scheme for the object.) 144 139 T 54 283/G3.1006559 FmPA (3.) 126 119 T (Define) 144 119 T (a) 181.76 119 T (URL) 192.19 119 T (context) 221.29 119 T (factory) 261.73 119 T (class) 300.82 119 T (that) 329.25 119 T (implements) 352.35 119 T 4 10 Q (ObjectFactory) 413.46 119 T 2 12 Q (.) 491.46 119 T (This) 499.57 119 T (class\325s) 526.01 119 T 54 263/G3.1006560 FmPA 4 10 Q (getObjectInstance\050\051) 144 105 T 2 12 Q (method) 261.76 105 T (will) 301.51 105 T (create) 323.94 105 T (an) 356.34 105 T (instance) 371.42 105 T (of) 414.5 105 T (the) 428.25 105 T (class) 446.67 105 T (from) 473.75 105 T (step) 500.83 105 T (1) 523.92 105 T (\050e.g.,) 533.68 105 T 4 10 Q (BSDPrinter) 144 91 T 2 12 Q (\051 when given the URL from step 2.) 204 91 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.28/DEST FmPD2 108 427/M3.9.24572.subsection.412.Handling.URL.References FmPA 108 427/I3.1.1006436 FmPA [/Rect[231 223 284 236]/Border[0 0 0]/Page 25/View[/XYZ null 108 483 FmDC exch pop null]/LNK FmPD [/Rect[405 209 467 222]/Border[0 0 0]/Page 35/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 12 Q 0 X (4.1.3) 66 712 T (Handling Arbitrary References: The java.naming.factory.object Property) 108 712 T 54 856/G3.1006269 FmPA 2 F (In) 108 692 T (addition) 122.56 692 T (to) 166.45 692 T (extracting) 180.35 692 T (factory) 232.89 692 T (information) 271.43 692 T (from) 332.66 692 T 4 10 Q (Reference) 360.55 692 T 2 12 Q (s,) 414.55 692 T (or) 426.77 692 T (using) 441.33 692 T (URLs,) 471.89 692 T (JNDI) 508.12 692 T (also) 538.67 692 T 54 836/G3.1006270 FmPA (looks) 108 678 T (for) 136.64 678 T (object) 153.28 678 T (factories) 185.24 678 T (specified) 229.2 678 T (in) 275.16 678 T (the) 287.14 678 T 4 10 Q (java.naming.factory.object) 304.44 678 T 2 12 Q (property,) 463.08 678 T (which) 509.38 678 T (can) 541.34 678 T (be) 108 664 T (in) 122.07 664 T (the) 134.14 664 T (environment) 151.55 664 T (or) 214.95 664 T (the) 227.68 664 T (provider) 245.09 664 T (resource) 288.48 664 T (file) 331.87 664 T (\050see) 350.6 664 T (Section) 372.66 664 T (2.9.5\051.) 411.4 664 T (The) 445.14 664 T (property) 466.54 664 T (contains) 509.93 664 T (a) 552.67 664 T (colon-separated) 108 650 T (list) 187.34 650 T (of) 205.38 650 T (fully-qualified) 218.75 650 T (class) 291.44 650 T (names) 318.14 650 T (of) 352.16 650 T (object) 365.53 650 T (factories.) 398.22 650 T (Each) 445.91 650 T (class) 473.26 650 T (must) 499.96 650 T (imple-) 526.67 650 T (ment) 108 636 T (the) 134.9 636 T 4 10 Q (ObjectFactory) 152.47 636 T 2 12 Q (interface) 233.37 636 T (and) 278.25 636 T (have) 298.48 636 T (a) 324.04 636 T (public) 332.27 636 T (constructor) 365.18 636 T (that) 422.07 636 T (takes) 442.97 636 T (no) 470.53 636 T (arguments.) 485.44 636 T (For) 541.33 636 T (each) 108 622 T (class) 132.97 622 T (in) 159.28 622 T (the) 171.6 622 T (list,) 189.25 622 T (JNDI) 209.91 622 T (attempts) 238.88 622 T (to) 282.53 622 T (load) 294.85 622 T (and) 318.5 622 T (instantiate) 338.81 622 T (the) 391.13 622 T (factory) 408.78 622 T (class,) 445.74 622 T (and) 475.06 622 T (to) 495.37 622 T (invoke) 507.69 622 T (the) 543.34 622 T 4 10 Q (ObjectFactory/DirObjectFactory.getObjectInstance\050\051) 108 608 T 2 12 Q (method) 412.22 608 T (on) 452.44 608 T (it) 468.67 608 T (using) 479.56 608 T (the) 509.79 608 T (object) 528.67 608 T (and) 108 594 T (environment) 129.13 594 T (arguments) 193.59 594 T (supplied.) 247.38 594 T (If) 294.85 594 T (the) 306.64 594 T (creation) 325.11 594 T (is) 367.56 594 T (successful,) 379.36 594 T (the) 435.48 594 T (resulting) 453.95 594 T (object) 499.75 594 T (is) 532.88 594 T (re-) 544.68 594 T (turned;) 108 580 T (otherwise,) 145.74 580 T (JNDI) 199.15 580 T (uses) 228.89 580 T (the) 253.3 580 T (same) 271.71 580 T (procedure) 300.12 580 T (on) 351.84 580 T (the) 367.59 580 T (next) 386 580 T (class) 410.41 580 T (in) 437.49 580 T (the) 450.57 580 T (list) 468.98 580 T (until) 487.4 580 T (the) 513.16 580 T (list) 531.57 580 T (is) 550 580 T (exhausted or a factory returns a non-) 108 566 T 4 10 Q (null) 283.94 566 T 2 12 Q ( result.) 307.94 566 T 3 10 Q (Figur) 54 547.33 T (e 4: Example using ja) 77.71 547.33 T (v) 169.13 547.33 T (a.naming) 174.03 547.33 T (.factory) 213.61 547.33 T (.object to Get Back an Object fr) 245.95 547.33 T (om the Namespace) 382.13 547.33 T 54 691/G3.1006330 FmPA 2 12 Q (For) 108 311.5 T (the) 127.56 311.5 T (printer) 145.12 311.5 T (example,) 180.01 311.5 T (instead) 226.56 311.5 T (of) 263.45 311.5 T (using) 276.34 311.5 T (a) 305.24 311.5 T 4 10 Q (Reference) 313.46 311.5 T 2 12 Q (to) 370.35 311.5 T (represent) 382.58 311.5 T (a) 429.46 311.5 T (printer) 437.68 311.5 T (in) 472.57 311.5 T (the) 484.8 311.5 T (namespace,) 502.36 311.5 T 54 455/G3.1006331 FmPA (some) 108 297.5 T (other) 136.36 297.5 T (information) 164.05 297.5 T (is) 223.75 297.5 T (stored.) 234.79 297.5 T (When) 270.14 297.5 T (that) 301.83 297.5 T (information) 322.86 297.5 T (is) 382.56 297.5 T (later) 393.59 297.5 T (retrieved,) 417.95 297.5 T (the) 466.63 297.5 T (object) 484.33 297.5 T (factories) 516.68 297.5 T (specified) 108 283.5 T 4 10 Q (java.naming.factory.object) 154.66 283.5 T 2 12 Q (are) 313.99 283.5 T (tried) 331.98 283.5 T (in) 357.31 283.5 T (turn) 369.98 283.5 T (to) 392.65 283.5 T (attempt) 405.32 283.5 T (to) 444.66 283.5 T (turn) 457.33 283.5 T (that) 480 283.5 T (information) 501.34 283.5 T (into a) 108 269.5 T 4 10 Q (Printer) 138 269.5 T 2 12 Q ( instance.) 180 269.5 T (A service provider for such an object must do the following:) 108 249.5 T 54 393/G3.1006332 FmPA (1.) 126 229.5 T (Define the class for the object \050e.g.,) 144 229.5 T 4 10 Q (BSDPrinter) 317.95 229.5 T 2 12 Q (\051.) 377.95 229.5 T 54 373/G3.1006333 FmPA (2.) 126 209.5 T (Define) 144 209.5 T (the) 179.7 209.5 T (class) 197.42 209.5 T (for) 223.79 209.5 T (reference) 240.84 209.5 T (information) 288.52 209.5 T (for) 348.23 209.5 T (the) 365.27 209.5 T (object.) 382.99 209.5 T (This) 418.36 209.5 T (is) 442.75 209.5 T (the) 453.81 209.5 T (object) 471.52 209.5 T (that) 503.9 209.5 T (will) 524.95 209.5 T (be) 546.67 209.5 T 54 353/G3.1006334 FmPA (bound) 144 195.5 T (in) 177.43 195.5 T (the) 190.19 195.5 T (namespace.) 208.28 195.5 T (This) 267.35 195.5 T (need) 292.11 195.5 T (not) 318.19 195.5 T (be) 336.95 195.5 T 4 10 Q (Reference) 351.7 195.5 T 2 12 Q (.) 405.7 195.5 T (It) 412.13 195.5 T (can) 422.89 195.5 T (be) 442.97 195.5 T (anything) 457.72 195.5 T (that) 503.15 195.5 T (will) 524.57 195.5 T (be) 546.67 195.5 T (understood) 144 181.5 T (by) 200.4 181.5 T (its) 215.46 181.5 T (corresponding) 229.87 181.5 T (object) 301.59 181.5 T (factory) 333.98 181.5 T (\050e.g.,) 371.03 181.5 T (some) 398.42 181.5 T (string) 426.82 181.5 T (containing) 457.22 181.5 T (the) 510.95 181.5 T (server) 528.68 181.5 T (name \322) 144 167.5 T 4 10 Q (printer type=bsd; host=lobby-printserver) 178.32 167.5 T 2 12 Q (\323\051.) 418.32 167.5 T (3.) 126 147.5 T (Define) 144 147.5 T (a) 179.99 147.5 T (factory) 188.66 147.5 T (class) 225.98 147.5 T (that) 252.65 147.5 T (implements) 273.98 147.5 T 4 10 Q (ObjectFactory) 333.33 147.5 T 2 12 Q (\050e.g.,) 414.67 147.5 T 4 10 Q (PrinterFactory) 442.33 147.5 T 2 12 Q (\051.) 526.33 147.5 T (This) 536.66 147.5 T 54 291/G3.1006335 FmPA (class\325s) 144 133.5 T 4 10 Q (getObjectInstance\050\051) 179.11 133.5 T 2 12 Q (method) 296.22 133.5 T (will) 335.34 133.5 T (create) 357.13 133.5 T (an) 388.89 133.5 T (instance) 403.33 133.5 T (of) 445.77 133.5 T (the) 458.88 133.5 T (class) 476.66 133.5 T (from) 503.11 133.5 T (step) 529.55 133.5 T (1) 552 133.5 T (\050e.g.,) 144 119.5 T 4 10 Q (BSDPrinter) 172.48 119.5 T 2 12 Q (\051) 232.48 119.5 T (when) 240.64 119.5 T (given) 270.79 119.5 T (an) 301.61 119.5 T (instance) 317.1 119.5 T (of) 360.58 119.5 T (the) 374.74 119.5 T (class) 393.56 119.5 T (from) 421.05 119.5 T (step) 448.54 119.5 T (2) 472.03 119.5 T (\050e.g.,) 482.19 119.5 T (\322) 510.67 119.5 T 4 10 Q (printer) 516 119.5 T (type=bsd; host=lobby-printserver) 144 105.5 T 2 12 Q (\323\051.) 336 105.5 T 54 327.5 558 544 C 0 0 0 1 0 0 0 1 K 225 463.5 243 481.5 R 13 X V 0.5 H 2 Z 0 X N 171 463.5 189 481.5 R 3 X V 0 X N 252 463.5 270 481.5 R 8 X V 0 X N 198 463.5 216 481.5 R 12 X V 0 X N 2 10 Q (Object factories) 59.66 463.8 T 378 490.5 M 362.69 483.95 303.79 500.44 325.47 467.67 D 337.87 448.92 367.66 459.71 377.59 471.83 D 382.64 478 388.12 487.07 379.17 490.17 D 5 X V 0 X N 225 391.5 279 445.5 R N 383.13 487.37 468 454.5 2 L N 358.17 459.62 468 454.5 2 L N 486 481.5 468 463.5 2 L N 486 481.5 504 454.5 2 L N 486 481.5 540 454.5 2 L N 468 454.5 458.68 418.5 2 L N (information about printer) 318.02 511.1 T 0 90 126.88 31.37 198 486.13 A 180.9 492.49 183.53 492.28 180.15 483.31 178.26 492.71 4 Y 1 H 0 Z N 180.9 492.49 183.53 492.28 180.15 483.31 178.26 492.71 4 Y V 180.94 492.99 M 182.11 507.39 190.07 517.5 198 517.5 D 0.5 H 2 Z N 208.93 492.37 211.54 491.91 207.32 483.29 206.33 492.84 4 Y 1 H 0 Z N 208.93 492.37 211.54 491.91 207.32 483.29 206.33 492.84 4 Y V 209.02 492.87 M 209.79 497.17 213.18 499.5 216 499.5 D 0.5 H 2 Z N 0 90 108.88 13.37 216 486.13 A 241.09 489.98 243.12 488.28 235.16 482.89 239.05 491.67 4 Y 1 H 0 Z N 241.09 489.98 243.12 488.28 235.16 482.89 239.05 491.67 4 Y V 241.41 490.36 M 241.74 490.76 242.46 490.5 243 490.5 D 0.5 H 2 Z N 0 90 81.88 4.37 243 486.13 A 280.71 475.16 281.35 472.59 271.76 472.94 280.07 477.73 4 Y 1 H 0 Z N 280.71 475.16 281.35 472.59 271.76 472.94 280.07 477.73 4 Y V 281.2 475.28 324.88 486.13 2 L 0.5 H 2 Z N 224.82 433.62 226.29 435.82 232.49 428.51 223.35 431.42 4 Y 1 H 0 Z N 224.82 433.62 226.29 435.82 232.49 428.51 223.35 431.42 4 Y V 180 463.5 224.4 433.9 2 L 0.5 H 2 Z N 234 409.5 243 427.5 4.5 RR V N (namespace) 468 391.5 T (application) 234 373.5 T 411.97 409.3 411.92 411.94 421.19 409.47 412.02 406.65 4 Y 1 H 0 Z N 411.97 409.3 411.92 411.94 421.19 409.47 412.02 406.65 4 Y V 279 406.83 411.47 409.29 2 L 0.5 H 2 Z N (lookup printer name) 306 391.8 T J 407.04 463.5 407.04 460.86 397.81 463.5 407.04 466.14 4 Y 1 H 0 Z N 407.04 463.5 407.04 460.86 397.81 463.5 407.04 466.14 4 Y V J 414 463.5 407.54 463.5 2 L 0.5 H 2 Z N J (in) 59.66 451.8 T 4 9 Q (Printer) 153 419.3 T 2 10 Q (object) 193.8 419.3 T J (bound in namespace) 321.02 499.1 T 4 9 Q (getObjectInstance\050\051) 207 526 T 7 X 90 450 9 9 486 481.5 G 0 X 90 450 9 9 486 481.5 A 7 X 90 450 9 9 504 454.5 G 0 X 90 450 9 9 504 454.5 A 7 X 90 450 8.68 9 458.68 418.5 G 0 X 90 450 8.68 9 458.68 418.5 A 7 X 90 450 9 9 540 454.5 G 0 X 90 450 9 9 540 454.5 A 7 X 90 450 9 9 468 454.5 G 0 X 90 450 9 9 468 454.5 A 7 X 90 450 5 5 361.67 380 G 0 X 90 450 5 5 361.67 380 A (1) 358.33 377.5 T 7 X 90 450 5 5 425.5 464.5 G 0 X 90 450 5 5 425.5 464.5 A (2) 422.17 462 T 7 X 90 450 5 5 162.67 503.33 G 0 X 90 450 5 5 162.67 503.33 A (3) 159.33 500.83 T 7 X 90 450 5 5 211 449 G 0 X 90 450 5 5 211 449 A (4) 207.67 446.5 T 4 7 Q (java.naming.factory.object) 71.1 451.77 T 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.29/DEST FmPD2 [/Rect[373 660 435 673]/Border[0 0 0]/Page 22/View[/XYZ null 108 372 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 (The) 108 712 T (service) 129.61 712 T (provider) 166.54 712 T (should) 210.14 712 T (automatically) 245.09 712 T (convert) 313.37 712 T (between) 352.31 712 T (the) 395.24 712 T (actual) 412.85 712 T (object) 444.45 712 T (\050e.g.,) 476.73 712 T 4 10 Q (BSDPrint-) 504 712 T 54 856/G3.1006336 FmPA (er) 108 698 T 2 12 Q (\051) 120 698 T (and) 127.72 698 T (the) 148.78 698 T (reference) 167.17 698 T (information) 215.53 698 T (\050step) 275.92 698 T (2,) 302.98 698 T (e.g.,) 315.7 698 T (\322) 339.76 698 T 4 10 Q (printer) 345.09 698 T (type=bsd;) 394.54 698 T (host=lobby-print-) 456 698 T (server) 108 684 T 2 12 Q (\323\051 when binding or looking up the object.) 144 684 T (An) 108 664 T (application) 124.98 664 T (that) 180.63 664 T (wants) 200.95 664 T (to) 231.26 664 T (use) 242.91 664 T (a) 261.23 664 T (particular) 268.87 664 T (factory) 317.17 664 T (for) 353.47 664 T (generating) 369.78 664 T (objects) 422.75 664 T (must) 459.07 664 T (include) 484.73 664 T (the) 522.37 664 T (fac-) 539.35 664 T 54 808/G3.1006337 FmPA (tory\325s) 108 650 T (class) 139.67 650 T (name) 166.67 650 T (in) 196.33 650 T (its) 209.34 650 T 4 10 Q (java.naming.factory.object) 224.35 650 T 2 12 Q (environment) 384.02 650 T (property) 448.35 650 T (and) 492.67 650 T (make) 513.67 650 T (the) 543.34 650 T (factory\325s classes and object classes available.) 108 636 T 3 F (4.1.4) 66 613 T (Overriding the Default Behavior) 108 613 T 54 757/G3.1006464 FmPA 2 F (An object factory) 108 593 T 0 F (builder) 194.98 593 T 2 F ( is a class that creates instances of object factories.) 229.64 593 T 54 737/G3.1006465 FmPA (An) 108 573 T (application) 125.63 573 T (can) 181.91 573 T (install) 201.53 573 T (an) 233.84 573 T (object) 248.12 573 T (factory) 280.41 573 T (builder) 317.36 573 T (to) 354.32 573 T (defining) 366.61 573 T (its) 409.57 573 T (own) 423.88 573 T (policy) 447.5 573 T (of) 480.46 573 T (how) 493.42 573 T (to) 517.05 573 T (locate) 529.34 573 T 54 717/G3.1006466 FmPA (and) 108 559 T (construct) 129.08 559 T (object) 176.82 559 T (factory) 209.89 559 T (implementations.) 247.62 559 T (When) 334.37 559 T (a) 366.78 559 T (builder) 375.85 559 T (has) 413.6 559 T (been) 433.34 559 T (installed,) 459.74 559 T (it) 507.16 559 T (is) 517.58 559 T (solely) 529.33 559 T (responsible) 108 545 T (for) 166.67 545 T (creating) 184.67 545 T (the) 227.32 545 T (object) 246 545 T (factories.) 279.33 545 T (None) 327.65 545 T (of) 357.65 545 T (the) 371.66 545 T (default) 390.33 545 T (policies) 427.66 545 T (\050) 469 545 T 4 10 Q (Reference) 472.99 545 T 2 12 Q (,) 526.99 545 T (URL) 534 545 T (string, or) 108 531 T 4 10 Q (java.naming.factory.object) 154.33 531 T 2 12 Q ( property\051 normally used by JNDI are employed.) 310.33 531 T 3 10 Q (Figur) 54 512.33 T (e 5: Example using an Object F) 77.71 512.33 T (actory Builder to Get Back an Object fr) 211.35 512.33 T (om the Namespace) 380.87 512.33 T 54 656/G3.1006516 FmPA 2 12 Q (A service provider for an object factory builder must do the following:) 108 294 T 54 438/G3.1006517 FmPA (1.) 126 274 T (Define object factories that implement) 144 274 T 4 10 Q (ObjectFactory) 331.63 274 T 2 12 Q (.) 409.63 274 T 54 418/G3.1006518 FmPA (2.) 126 254 T (Define) 144 254 T (a) 191.27 254 T (class) 211.23 254 T (that) 249.18 254 T (implements) 281.8 254 T 4 10 Q (ObjectFactoryBuilder) 352.43 254 T 2 12 Q (.) 472.43 254 T (This) 490.05 254 T (class\325s) 526.01 254 T 54 398/G3.1006519 FmPA 4 10 Q (createObjectFactory\050\051) 144 240 T 2 12 Q (method) 274.67 240 T (will) 315.34 240 T (use) 338.68 240 T (the) 359.35 240 T (constructors) 378.68 240 T (for) 442.01 240 T (the) 460.67 240 T 4 10 Q (ObjectFactory) 480 240 T 2 12 Q (classes in step 1.) 144 226 T (An application that wants to use this factory builder must first install it.) 108 206 T 54 350/G3.1006520 FmPA 4 10 Q (NamingManager.setObjectFactoryBuilder\050builder\051;) 165.6 187.33 T 54 331/G3.1006521 FmPA 3 12 Q (4.1.5) 66 165 T (Context Factory) 108 165 T 54 309/G3.1000829 FmPA 2 F (A) 108 145 T 0 F (context) 119.22 145 T (factory) 156.43 145 T 2 F (is) 192.98 145 T (an) 203.53 145 T (object) 217.41 145 T (factory) 249.3 145 T (that) 285.83 145 T (creates) 306.39 145 T (instances) 342.25 145 T (of) 388.8 145 T 4 10 Q (Context) 401.35 145 T 2 12 Q (.) 443.35 145 T (The) 448.9 145 T (implementation) 470.11 145 T (of) 548 145 T 54 289/G3.1000830 FmPA (these) 108 131 T (contexts) 135.38 131 T (for) 178.1 131 T (a) 194.81 131 T (particular) 202.86 131 T (naming) 251.56 131 T (or) 290.28 131 T (directory) 303 131 T (service) 349.04 131 T (is) 385.74 131 T (referred) 396.46 131 T (to) 437.15 131 T (as) 449.21 131 T (a) 461.92 131 T 0 F (context) 469.97 131 T (implemen-) 507.35 131 T (tation) 108 117 T 2 F (.) 136.01 117 T (Context) 142.73 117 T (implementations) 184.46 117 T (are) 268.18 117 T (described) 286.56 117 T (in) 336.27 117 T (Chapter) 349.32 117 T (2.) 391.04 117 T (Like) 403.76 117 T (any) 429.48 117 T (other) 450.53 117 T (object) 478.91 117 T (factory,) 511.96 117 T (a) 552.67 117 T (context) 108 103 T (factory) 146.09 103 T (can) 182.84 103 T (be) 202.26 103 T (obtained) 216.35 103 T (by) 260.44 103 T (using) 275.2 103 T (any) 303.96 103 T (of) 324.05 103 T (the) 336.81 103 T (three) 354.24 103 T (mechanisms) 380.99 103 T (described) 443.08 103 T (above:) 491.83 103 T (from) 526.58 103 T (a) 552.67 103 T 4 10 Q (Reference) 108 89 T 2 12 Q (, a URL scheme id, or listed in the) 162 89 T 4 10 Q (java.naming.factory.object) 329.65 89 T 2 12 Q ( property.) 485.65 89 T 54 310 558 509 C 0 0 0 1 0 0 0 1 K 171 408 189 426 R 3 X V 0.5 H 2 Z 0 X N 4 9 Q (PrinterFactory) 92.68 413.1 T 378 435 M 362.69 428.45 303.79 444.94 325.47 412.17 D 337.87 393.42 367.66 404.21 377.59 416.33 D 382.64 422.5 388.12 431.57 379.17 434.67 D 5 X V 0 X N 225 336 279 390 R N 383.13 431.87 468 399 2 L N 358.17 404.12 468 399 2 L N 2 10 Q (information about printer) 318.02 455.6 T 0 90 126.88 31.37 198 430.63 A 180.9 436.99 183.53 436.78 180.15 427.81 178.26 437.21 4 Y 1 H 0 Z N 180.9 436.99 183.53 436.78 180.15 427.81 178.26 437.21 4 Y V 180.94 437.49 M 182.11 451.89 190.07 462 198 462 D 0.5 H 2 Z N 224.82 378.12 226.29 380.32 232.49 373.01 223.35 375.92 4 Y 1 H 0 Z N 224.82 378.12 226.29 380.32 232.49 373.01 223.35 375.92 4 Y V 180 408 224.4 378.4 2 L 0.5 H 2 Z N 234 354 243 372 4.5 RR V N (namespace) 468 336 T (application) 234 318 T 411.97 353.8 411.92 356.44 421.19 353.97 412.02 351.15 4 Y 1 H 0 Z N 411.97 353.8 411.92 356.44 421.19 353.97 412.02 351.15 4 Y V 279 351.33 411.47 353.79 2 L 0.5 H 2 Z N (lookup printer name) 306 336.3 T J 407.04 408 407.04 405.36 397.81 408 407.04 410.64 4 Y 1 H 0 Z N 407.04 408 407.04 405.36 397.81 408 407.04 410.64 4 Y V J 414 408 407.54 408 2 L 0.5 H 2 Z N J 4 9 Q (Printer) 153 363.8 T 2 10 Q (object) 193.8 363.8 T J (bound in namespace) 321.02 443.6 T 207 425.5 288 479.5 18 RR 6 X V 0 X N (Installed object factory builder) 162 489.8 T 486 426 468 408 2 L 7 X V 0 X N 486 426 504 399 2 L 7 X V 0 X N 486 426 540 399 2 L 7 X V 0 X N 468 399 458.68 363 2 L 7 X V 0 X N 7 X 90 450 9 9 486 426 G 0 X 90 450 9 9 486 426 A 7 X 90 450 9 9 504 399 G 0 X 90 450 9 9 504 399 A 7 X 90 450 8.68 9 458.68 363 G 0 X 90 450 8.68 9 458.68 363 A 7 X 90 450 9 9 540 399 G 0 X 90 450 9 9 540 399 A 7 X 90 450 9 9 468 399 G 0 X 90 450 9 9 468 399 A 7 X 90 450 5 5 188.5 387.33 G 0 X 90 450 5 5 188.5 387.33 A 4 9 Q (4) 185.17 384.83 T 7 X 90 450 5 5 399.33 329 G 0 X 90 450 5 5 399.33 329 A (1) 396 326.5 T 7 X 90 450 5 5 425.17 408.17 G 0 X 90 450 5 5 425.17 408.17 A (2) 421.83 405.67 T 7 X 90 450 5 5 173.5 465.67 G 0 X 90 450 5 5 173.5 465.67 A (3) 170.17 463.17 T 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.30/DEST FmPD2 108 765/M3.9.40493.subsection.414.Overriding.the.Default.Behavior FmPA 108 765/I3.1.1007374 FmPA [/Rect[352 113 401 126]/Border[0 0 0]/Page 8/View[/XYZ null 108 864 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 3 12 Q 0 X (4.1.6) 66 712 T (URL Context Factory) 108 712 T 54 856/G3.1000794 FmPA 2 F (A) 108 692 T (URL) 119.73 692 T (context) 146.8 692 T (factory) 185.19 692 T (is) 222.25 692 T (a) 233.32 692 T (special) 241.71 692 T (kind) 278.1 692 T (of) 302.51 692 T (context) 315.57 692 T (factory.) 353.97 692 T (It) 394.02 692 T (follows) 404.42 692 T (these) 443.48 692 T (rules) 471.21 692 T (when) 497.61 692 T (imple-) 526.67 692 T 54 836/G3.1000799 FmPA (menting) 108 678 T 4 10 Q (ObjectFactory.getObjectInstance\050\051) 150.34 678 T 2 12 Q (.) 348.34 678 T (\245) 115 658 T (If) 126 658 T 4 10 Q (refObj) 137.35 658 T 2 12 Q (is) 176.72 658 T 4 10 Q (null) 188.08 658 T 2 12 Q (,) 212.08 658 T (create) 218.45 658 T (a) 250.45 658 T (context) 259.14 658 T (for) 297.83 658 T (resolving) 315.19 658 T (URLs) 363.21 658 T (of) 395.25 658 T (the) 408.6 658 T (scheme) 426.63 658 T (associated) 465.98 658 T (with) 518.66 658 T 54 802/G3.1000800 FmPA (this) 126 644 T (factory.) 146.03 644 T (The) 185.71 644 T (resulting) 207.06 644 T (context) 251.75 644 T (is) 289.77 644 T (not) 300.46 644 T (tied) 318.49 644 T (to) 339.18 644 T (a) 351.21 644 T (specific) 359.23 644 T (URL.) 399.24 644 T (For) 428.93 644 T (example,) 448.29 644 T (invoking) 494.64 644 T 4 10 Q (getObjectInstance\050null, null, null, env\051) 140.4 625.33 T 54 769/G3.1000801 FmPA 2 12 Q (on) 126 606 T (an) 140.74 606 T (\322ldap\323) 154.82 606 T (URL) 188.88 606 T (context) 215.63 606 T (factory) 253.7 606 T (returns) 290.43 606 T (a) 326.5 606 T (context) 334.57 606 T (that) 372.64 606 T (can) 393.39 606 T (resolve) 412.79 606 T (LDAP) 450.19 606 T (URLs) 484.26 606 T (\050e.g.,) 515.68 606 T 54 750/G3.1000802 FmPA (\322) 126 592 T 4 10 Q (ldap://ldap.wiz.com/o=wiz,c=us) 131.33 592 T 2 12 Q (\323 or \322) 311.33 592 T 4 F (l) 337.98 592 T 4 10 Q (dap://ldap.umich.edu/) 345.18 592 T 2 12 Q (\323, ...) 471.18 592 T 4 10 Q (\051.) 491.51 592 T 2 12 Q (\245) 115 572 T (If) 126 572 T 4 10 Q (refObj) 138.97 572 T 2 12 Q (is) 179.95 572 T (a) 192.94 572 T (URL) 203.24 572 T (string,) 232.22 572 T (create) 267.54 572 T (the) 301.16 572 T (object) 320.81 572 T (identified) 355.12 572 T (by) 406.09 572 T (the) 423.07 572 T (URL.) 442.72 572 T (For) 474.7 572 T (example,) 496.34 572 T 54 716/G3.1000803 FmPA (invoking) 126 558 T 4 10 Q (getObjectInstance\050\322ldap://ldap.wiz.com/o=wiz,c=us\323, null, null, env\051;) 140.4 539.33 T 54 683/G3.1000804 FmPA 2 12 Q (on) 126 520 T (an) 140.83 520 T (\322ldap\323) 154.98 520 T (URL) 189.13 520 T (context) 215.95 520 T (factory) 254.11 520 T (would) 290.92 520 T (return) 323.74 520 T (the) 355.23 520 T (object) 372.72 520 T (named) 404.87 520 T (by) 439.69 520 T (\322) 454.52 520 T 4 10 Q (o=wiz,c=us) 459.85 520 T 2 12 Q (\323) 519.84 520 T (on) 528 520 T 54 664/G3.1000805 FmPA (the) 126 506 T (LDAP) 143.51 506 T (server) 177.69 506 T 4 10 Q (ldap.wiz.com) 209.86 506 T 2 12 Q (.) 281.86 506 T (If) 287.71 506 T (this) 298.55 506 T (happens) 318.74 506 T (to) 360.91 506 T (name) 373.09 506 T (a) 401.93 506 T (context,) 410.11 506 T (it) 451.29 506 T (can) 460.81 506 T (then) 480.31 506 T (be) 503.83 506 T (used) 518 506 T (for resolving \050relative\051 LDAP names \050e.g., \322) 126 492 T 4 10 Q (cn=Jane Smith) 338.28 492 T 2 12 Q (\323\051.) 416.28 492 T (\245) 115 472 T (If) 126 472 T 4 10 Q (refObj) 136.76 472 T 2 12 Q (is) 175.54 472 T (an) 186.32 472 T (array) 200.42 472 T (of) 227.84 472 T (URL) 240.61 472 T (strings,) 267.38 472 T (the) 305.16 472 T (assumption) 322.6 472 T (is) 380.04 472 T (that) 390.82 472 T (the) 411.59 472 T (URLs) 429.03 472 T (are) 460.47 472 T (equivalent) 477.9 472 T (in) 530.66 472 T 54 616/G3.1000806 FmPA (terms) 126 458 T (of) 155.47 458 T (the) 168.27 458 T (context) 185.75 458 T (to) 223.88 458 T (which) 236.02 458 T (they) 268.16 458 T (refer.) 291.63 458 T (Verification) 320.08 458 T (of) 380.87 458 T (whether) 393.68 458 T (the) 435.14 458 T (URLs) 452.61 458 T (are,) 484.08 458 T (or) 504.54 458 T (need) 517.34 458 T (to) 126 444 T (be,) 138.38 444 T (equivalent) 155.74 444 T (is) 208.78 444 T (up) 219.82 444 T (to) 234.86 444 T (the) 247.24 444 T (context) 264.94 444 T (factory.) 303.31 444 T (The) 343.34 444 T (order) 365.04 444 T (of) 393.4 444 T (the) 406.44 444 T (URLs) 424.14 444 T (in) 455.85 444 T (the) 468.23 444 T (array) 485.93 444 T (is) 513.62 444 T (not) 524.66 444 T (significant.) 126 430 T (The) 183.2 430 T (object) 205.39 430 T (returned) 238.25 430 T (by) 281.76 430 T 4 10 Q (getObjectInstance\050\051) 297.3 430 T 2 12 Q (is) 414.83 430 T (the) 426.36 430 T (same) 444.56 430 T (as) 472.75 430 T (that) 486.28 430 T (for) 507.81 430 T (the) 525.34 430 T (single URL case\321it is an object \050perhaps a context\051 named by the URLs.) 126 416 T (\245) 115 396 T (If) 126 396 T 4 10 Q (refObj) 137.47 396 T 2 12 Q (is) 176.94 396 T (any) 188.42 396 T (other) 209.23 396 T (type,) 237.36 396 T (the) 264.5 396 T (behavior) 282.64 396 T (of) 328.11 396 T 4 10 Q (getObjectInstance\050\051) 341.58 396 T 2 12 Q (is) 459.06 396 T (determined) 470.54 396 T (by) 528 396 T 54 540/G3.1006433 FmPA (the implementation.) 126 382 T (URL) 108 362 T (context) 135.38 362 T (factories) 174.09 362 T (are) 218.78 362 T (used) 236.81 362 T (by) 262.19 362 T (the) 277.57 362 T 4 10 Q (InitialContext) 295.61 362 T 2 12 Q (class) 382.99 362 T (when) 409.7 362 T (it) 439.07 362 T (is) 449.12 362 T (passed) 460.51 362 T (a) 495.88 362 T (URL) 504.58 362 T (to) 531.96 362 T (re-) 544.68 362 T 54 506/G3.1000843 FmPA (solve.) 108 348 T (URL) 139.84 348 T (context) 167.35 348 T (factories) 206.18 348 T (are) 251 348 T (also) 269.16 348 T (used) 292 348 T (for) 317.5 348 T (creating) 335 348 T (objects) 377.16 348 T (in) 414.66 348 T (the) 427.5 348 T (Java) 445.67 348 T (programming) 470.51 348 T (lan-) 539.34 348 T (guage from URLs stored in the namespace \050see Section 4.1.2\051.) 108 334 T 3 14 Q (4.2) 72.5 306.67 T (Storing Objects: State Factories) 108 306.67 T 54 451/G3.1005973 FmPA 2 12 Q (JNDI) 108 286 T (provides) 136.71 286 T (a) 180.75 286 T (mechanism) 188.8 286 T (to) 246.17 286 T (transform) 258.22 286 T (an) 307.6 286 T (object) 321.64 286 T (into) 353.68 286 T (a) 375.07 286 T (form) 383.12 286 T (storable) 409.16 286 T (by) 449.87 286 T (the) 464.58 286 T (underlying) 481.96 286 T (con-) 536.68 286 T 54 430/G3.1006607 FmPA (text) 108 272 T (implementation.) 128.7 272 T (That) 209.73 272 T (form) 234.43 272 T (may) 260.45 272 T (be) 283.82 272 T (any) 297.84 272 T (arbitrary) 317.87 272 T (type) 361.88 272 T (acceptable) 385.24 272 T (to) 438.58 272 T (the) 450.61 272 T (underlying) 467.98 272 T (context) 522.67 272 T (implementation.) 108 258 T (For) 188.98 258 T (example,) 208.3 258 T (it) 254.6 258 T (may) 263.92 258 T (be) 287.23 258 T (a) 301.21 258 T 4 10 Q (Reference) 309.18 258 T 2 12 Q (,) 363.18 258 T (a) 368.83 258 T (URL,) 376.8 258 T (a) 406.45 258 T 4 10 Q (Serializable) 414.43 258 T 2 12 Q (object,) 489.07 258 T (or) 524.05 258 T (a) 536.69 258 T (set) 544.67 258 T (of) 108 244 T (attributes,) 121.22 244 T (or) 172.12 244 T (any) 185.34 244 T (other) 205.9 244 T (data) 233.78 244 T (acceptable) 257 244 T (by) 310.87 244 T (the) 326.1 244 T (underlying) 343.99 244 T (context) 399.22 244 T (implementation.) 437.77 244 T (Turning) 519.34 244 T (an) 108 230 T (arbitrary) 122.71 230 T (object) 167.4 230 T (into) 200.11 230 T (data) 222.16 230 T (that) 245.54 230 T (can) 266.92 230 T (be) 286.95 230 T (stored) 301.66 230 T (in) 334.37 230 T (the) 347.09 230 T (namespace) 365.13 230 T (is) 421.15 230 T (supported) 432.54 230 T (through) 483.25 230 T (the) 523.96 230 T (use) 542 230 T (of) 108 216 T 0 F (state) 120.64 216 T (factories) 145.96 216 T 2 F (.) 187.96 216 T (A) 193.61 216 T (state) 204.92 216 T (factory) 229.57 216 T (is) 266.2 216 T (a) 276.85 216 T (class) 284.83 216 T (that) 310.81 216 T (implements) 331.46 216 T (the) 390.11 216 T 4 10 Q (StateFactory) 407.42 216 T 2 12 Q (interface) 482.07 216 T (\050or) 526.7 216 T (the) 543.34 216 T 4 10 Q (DirStateFactory) 108 202 T 2 12 Q ( subinterface\051:) 198 202 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.31/DEST FmPD2 108 864/M3.9.11900.subsection.422.URLs FmPA 108 864/I3.1.1000793 FmPA 108 460/M3.9.15957.section.42.Storing.Objects.State.Factories FmPA 108 460/I3.1.1007173 FmPA [/Rect[349 330 413 343]/Border[0 0 0]/Page 32/View[/XYZ null 108 427 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 (public interface StateFactory {) 140.4 713.33 T 54 857/G3.1006608 FmPA (public Object getStateToBind\050Object obj,) 165.6 701.33 T 54 845/G3.1006609 FmPA (Name name,) 342 689.33 T 54 833/G3.1006610 FmPA (Context nameCtx,) 342 677.33 T 54 821/G3.1006611 FmPA (Hashtable env\051) 342 665.33 T 54 809/G3.1006612 FmPA (throws NamingException;) 190.8 653.33 T (}) 140.4 641.33 T 54 785/G3.1006613 FmPA (public interface DirStateFactory {) 140.4 629.33 T 54 773/G3.1006614 FmPA (public DirStateFactory.Result getStateToBind\050Object obj,) 165.6 617.33 T 54 761/G3.1006615 FmPA (Name name,) 342 605.33 T 54 749/G3.1006616 FmPA (Context nameCtx,) 342 593.33 T 54 737/G3.1006617 FmPA (Hashtable env,) 342 581.33 T 54 725/G3.1006618 FmPA (Attributes attrs\051) 342 569.33 T 54 713/G3.1006619 FmPA (throws NamingException;) 190.8 557.33 T (}) 140.4 545.33 T 54 689/G3.1006620 FmPA 2 12 Q (Given) 108 526 T (an) 139.79 526 T (object) 153.58 526 T (\050) 185.37 526 T 4 10 Q (obj) 189.37 526 T 2 12 Q (\051,) 207.37 526 T (optional) 216.82 526 T (information) 258.62 526 T (about) 317.75 526 T (the) 346.88 526 T (name) 364 526 T (of) 392.46 526 T (the) 404.91 526 T (object) 422.04 526 T (and) 453.83 526 T (where) 473.62 526 T (it) 505.4 526 T (is) 514.53 526 T (bound,) 525 526 T 54 670/G3.1006621 FmPA (and) 108 512 T (optionally) 129.36 512 T (some) 182.07 512 T (additional) 211.43 512 T (environment) 263.47 512 T (information) 328.16 512 T (\050for) 388.86 512 T (example,) 410.88 512 T (some) 458.57 512 T (identity) 487.94 512 T (or) 528.65 512 T (au-) 542.68 512 T (thentication) 108 498 T (information) 166.98 498 T (about) 225.96 498 T (the) 254.93 498 T (user) 271.91 498 T (accessing) 294.22 498 T (the) 342.52 498 T (namespace\051,) 359.49 498 T (the) 421.45 498 T (factory) 438.43 498 T (attempts) 474.72 498 T (to) 517.71 498 T (create) 529.36 498 T (an) 108 484 T (object) 123.13 484 T (suitable) 156.26 484 T (for) 197.39 484 T (binding.) 215.18 484 T (Typically,) 258.65 484 T (the) 311.45 484 T (state) 329.91 484 T (factory) 355.71 484 T (is) 393.49 484 T (knowledgeable) 405.3 484 T (about) 481.75 484 T (the) 512.21 484 T (target) 530.68 484 T (naming/directory) 108 470 T (service) 192.94 470 T (and/or) 229.2 470 T (context) 262.14 470 T (implementation,) 299.75 470 T (and) 380.37 470 T (knows) 399.98 470 T (which) 433.59 470 T (data) 465.2 470 T (formats) 487.47 470 T (are) 526.41 470 T (ac-) 543.35 470 T (ceptable.) 108 456 T (In) 154.53 456 T (the) 168.07 456 T (case) 186.28 456 T (of) 210.48 456 T (a) 224.02 456 T (state) 232.9 456 T (factory) 258.44 456 T (that) 295.97 456 T (is) 317.51 456 T (to) 329.06 456 T (be) 341.95 456 T (used) 356.82 456 T (with) 382.36 456 T (a) 407.24 456 T 4 10 Q (DirContext) 416.12 456 T 2 12 Q (implementation,) 479.66 456 T (the) 108 442 T (factory) 125.8 442 T (is) 162.92 442 T (also) 174.06 442 T (given) 196.52 442 T (some) 226.32 442 T (attributes) 254.79 442 T (that) 302.59 442 T (are) 323.72 442 T (to) 341.51 442 T (be) 353.98 442 T (stored) 368.44 442 T (with) 400.9 442 T (the) 425.37 442 T (object.) 443.17 442 T (If) 478.64 442 T (the) 489.76 442 T (factory) 507.56 442 T (re-) 544.68 442 T (quire) 108 428 T (more) 135.41 428 T (information) 162.82 428 T (about) 222.23 428 T (the) 251.64 428 T (object,) 269.05 428 T (it) 304.13 428 T (can) 313.55 428 T (obtain) 332.95 428 T (them) 365.7 428 T (directly) 392.45 428 T (from) 431.86 428 T (the) 457.93 428 T (naming/directory) 475.34 428 T (service) 108 414 T (by) 146.76 414 T (using) 163.53 414 T (the) 194.31 414 T 4 10 Q (name) 213.75 414 T 2 12 Q (/) 237.75 414 T 4 10 Q (nameCtx) 241.09 414 T 2 12 Q (arguments.) 287.86 414 T (For) 345.63 414 T (example,) 367.07 414 T (a) 415.5 414 T (printer) 425.61 414 T (state) 462.37 414 T (factory) 489.15 414 T (for) 527.91 414 T (an) 546.67 414 T (LDAP directory might return a set of attributes that represent the printer.) 108 400 T (If) 108 380 T (the) 119.33 380 T (factory) 137.33 380 T (cannot) 174.65 380 T (return) 209.98 380 T (any) 241.98 380 T (data) 262.64 380 T (using) 285.97 380 T (the) 315.31 380 T (arguments) 333.31 380 T (supplied,) 386.64 380 T (it) 433.65 380 T (should) 443.66 380 T (return) 479 380 T 4 10 Q (null) 510.99 380 T 2 12 Q (.) 534.99 380 T (For) 541.33 380 T 54 524/G3.1006622 FmPA (example,) 108 366 T (when) 154.64 366 T (a) 183.62 366 T (printer) 191.93 366 T (state) 226.9 366 T (factory) 251.88 366 T (is) 288.85 366 T (given) 299.84 366 T (a) 329.49 366 T (disk) 337.8 366 T (object,) 360.79 366 T (it) 396.1 366 T (should) 405.76 366 T (return) 440.75 366 T 4 10 Q (null) 472.39 366 T 2 12 Q (.) 496.39 366 T (The) 502.37 366 T (factory) 524.02 366 T (should) 108 352 T (only) 143.03 352 T (thrown) 167.4 352 T (an) 204.42 352 T (exception) 218.78 352 T (if) 268.46 352 T (no) 278.83 352 T (other) 293.85 352 T (state) 321.54 352 T (factories) 346.57 352 T (should) 390.91 352 T (be) 425.95 352 T (tried.) 440.3 352 T (Therefore,) 468.33 352 T (the) 521.66 352 T (fac-) 539.35 352 T (tory) 108 338 T (should) 130.17 338 T (be) 165.01 338 T (careful) 179.17 338 T (about) 215.32 338 T (exceptions) 244.82 338 T (that) 298.98 338 T (might) 319.82 338 T (be) 350.66 338 T (thrown) 364.83 338 T (from) 401.66 338 T (its) 427.82 338 T (implementation.) 442 338 T (For) 523.17 338 T (ex-) 542.68 338 T (ample,) 108 324 T (if) 143.31 324 T (a) 153.63 324 T (printer) 161.94 324 T (state) 196.91 324 T (factory) 221.89 324 T (is) 258.86 324 T (given) 269.85 324 T (a) 299.49 324 T (printer) 307.8 324 T (object) 342.78 324 T (but) 375.09 324 T (perhaps) 393.41 324 T (contradictory) 433.71 324 T (attributes,) 500.68 324 T (it) 551.33 324 T (might throw an exception.) 108 310 T 3 F (4.2.1) 66 287 T (Input/Output Options) 108 287 T 54 431/G3.1006733 FmPA 2 F (Ultimately,) 108 267 T (a) 165.28 267 T (factory\325s) 173.56 267 T (output) 219.15 267 T (formats) 252.77 267 T (are) 292.38 267 T (determined) 309.98 267 T (by) 366.91 267 T (the) 381.86 267 T (underlying) 399.47 267 T (naming/directory) 454.41 267 T (ser-) 540.01 267 T 54 411/G3.1006737 FmPA (vice.) 108 253 T (A) 133.41 253 T (context) 144.49 253 T (implementation) 182.23 253 T (for) 259.98 253 T (the) 276.39 253 T (CORBA) 293.47 253 T (Object) 337.23 253 T (Services) 371.63 253 T (\050COS\051) 414.7 253 T (naming) 448.45 253 T (service,) 486.87 253 T (for) 526.27 253 T (ex-) 542.68 253 T (ample,) 108 239 T (can) 143.08 239 T (only) 162.48 239 T (store) 186.57 239 T (CORBA) 212.65 239 T (object) 256.74 239 T (references) 288.82 239 T (into) 340.86 239 T (the) 362.28 239 T (service;) 379.7 239 T (a) 419.77 239 T (context) 427.84 239 T (implementation) 465.92 239 T (for) 544.01 239 T (LDAP) 108 225 T (can) 142.15 225 T (only) 161.62 225 T (store) 185.77 225 T (attributes,) 211.91 225 T (although) 262.39 225 T (there) 307.21 225 T (is) 334.01 225 T (a) 344.83 225 T (lot) 352.98 225 T (of) 368.46 225 T (flexibility) 381.27 225 T (in) 431.43 225 T (how) 443.58 225 T (to) 467.06 225 T (encode) 479.21 225 T (informa-) 516.01 225 T (tion within those attributes.) 108 211 T (A) 108 191 T (service) 119.4 191 T (provider) 156.13 191 T (typically) 199.52 191 T (supplies) 244.26 191 T (a) 286.34 191 T (factory) 294.4 191 T (for) 331.13 191 T (each) 347.86 191 T (\050common\051) 372.58 191 T (type) 425.31 191 T (of) 448.71 191 T (input) 461.45 191 T (that) 488.86 191 T (it) 509.6 191 T (expects,) 519.01 191 T 54 335/G3.1006747 FmPA (and) 108 177 T (the) 128.21 177 T (application) 145.75 177 T (can) 201.96 177 T (augment) 221.5 177 T (that) 265.7 177 T (set) 286.58 177 T (with) 302.8 177 T (state) 327.01 177 T (factories) 351.89 177 T (of) 396.08 177 T (its) 408.96 177 T (own.) 423.18 177 T (For) 449.72 177 T (example,) 469.27 177 T (a) 515.81 177 T (service) 524.02 177 T (provider) 108 163 T (for) 151.55 163 T (COS) 168.44 163 T (naming) 194.67 163 T (might) 233.57 163 T (have) 264.47 163 T (a) 290.02 163 T (state) 298.24 163 T (factory) 323.13 163 T (for) 360.01 163 T (converting) 376.9 163 T (a) 431.11 163 T (Java) 439.34 163 T (Remote) 463.55 163 T (Method) 503.78 163 T (In-) 544.01 163 T (vocation) 108 149 T (\050RMI\051) 151.6 149 T (object) 184.54 149 T (into) 216.15 149 T (a) 237.09 149 T (CORBA) 244.7 149 T (object) 288.31 149 T (reference.) 319.92 149 T (A) 369.82 149 T (user) 380.76 149 T (of) 403.03 149 T (that) 415.3 149 T (provider) 435.58 149 T (might) 478.51 149 T (add) 508.8 149 T (a) 528.4 149 T (state) 536 149 T (factory for converting a Microsoft COM object reference into a CORBA object reference.) 108 135 T 3 F (4.2.2) 66 112 T (Locating State Factories: The java.naming.factory.state Property) 108 112 T 54 256/G3.1006881 FmPA 2 F (JNDI) 108 92 T (looks) 137.03 92 T (for) 166.07 92 T (state) 183.11 92 T (factories) 208.14 92 T (specified) 252.5 92 T (in) 298.86 92 T (the) 311.23 92 T 4 10 Q (java.naming.factory.state) 328.94 92 T 2 12 Q (property,) 481.98 92 T (which) 528.67 92 T 54 236/G3.1006888 FmPA (can) 108 78 T (be) 127.89 78 T (in) 142.44 78 T (the) 155.01 78 T (environment) 172.9 78 T (or) 236.79 78 T (the) 250.02 78 T (provider) 267.91 78 T (resource) 311.8 78 T (file) 355.67 78 T (\050see) 374.9 78 T (Section) 397.45 78 T (2.9.5\051.) 436.67 78 T (The) 470.9 78 T (property) 492.79 78 T (con-) 536.68 78 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.32/DEST FmPD2 [/Rect[397 74 460 87]/Border[0 0 0]/Page 22/View[/XYZ null 108 372 FmDC exch pop null]/LNK FmPD [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 2 12 Q 0 X (tains) 108 712 T (a) 133.13 712 T (colon-separated) 140.91 712 T (list) 219.34 712 T (of) 236.48 712 T (fully-qualified) 248.93 712 T (class) 320.71 712 T (names) 346.5 712 T (of) 379.62 712 T (state) 392.07 712 T (factories.) 416.53 712 T (Each) 463.3 712 T (class) 489.75 712 T (must) 515.53 712 T (im-) 541.33 712 T (plement) 108 698 T (the) 150.48 698 T 4 10 Q (StateFactory) 168.95 698 T 2 12 Q (interface) 244.76 698 T (and) 290.55 698 T (have) 311.69 698 T (a) 338.16 698 T (public) 347.3 698 T (constructor) 381.11 698 T (that) 438.91 698 T (takes) 460.72 698 T (no) 489.2 698 T (arguments.) 505.01 698 T (For) 108 684 T (each) 127.53 684 T (class) 152.38 684 T (in) 178.58 684 T (the) 190.78 684 T (list,) 208.31 684 T (JNDI) 228.85 684 T (attempts) 257.71 684 T (to) 301.24 684 T (load) 313.45 684 T (and) 336.98 684 T (instantiate) 357.17 684 T (the) 409.37 684 T (factory) 426.9 684 T (class,) 463.75 684 T (and) 492.94 684 T (to) 513.13 684 T (invoke) 525.34 684 T (the) 108 670 T 4 10 Q (StateFactory/DirStateFactory.getStateToBind\050\051) 128.04 670 T 2 12 Q (method) 403.43 670 T (on) 444.81 670 T (it) 462.19 670 T (using) 474.24 670 T (the) 505.63 670 T (object,) 525.67 670 T (name,) 108 656 T (context,) 140 656 T (environment,) 181.33 656 T (and) 248 656 T (attributes) 268.34 656 T (arguments) 316.01 656 T (supplied.) 369.01 656 T (If) 415.68 656 T (the) 426.68 656 T (factory) 444.35 656 T (produces) 481.34 656 T (a) 527.67 656 T (non-) 536 656 T 4 10 Q (null) 108 642 T 2 12 Q (result,) 135.29 642 T (the) 168.25 642 T (result) 186.21 642 T (is) 216.17 642 T (returned;) 227.47 642 T (otherwise,) 274.08 642 T (JNDI) 327.03 642 T (uses) 356.32 642 T (the) 380.28 642 T (same) 398.24 642 T (procedure) 426.19 642 T (on) 477.46 642 T (the) 492.76 642 T (next) 510.71 642 T (class) 534.67 642 T (in the list until the list is exhausted or a factory returns a non-) 108 628 T 4 10 Q (null) 402.97 628 T 2 12 Q ( result.) 426.97 628 T 3 14 Q (4.3) 72.5 600.67 T (Narrowing LDAP v3 Controls: Response Control Factories) 108 600.67 T 54 745/G3.1006735 FmPA 2 12 Q (The) 108 580 T (LDAP) 129.12 580 T (v3) 162.91 580 T (protocol) 177.37 580 T (allows) 219.82 580 T (response) 253.61 580 T (controls) 298.06 580 T (to) 339.18 580 T (accompany) 350.97 580 T (any) 408.08 580 T (response) 427.87 580 T (sent) 472.31 580 T (by) 494.1 580 T (the) 508.56 580 T (server.) 525.68 580 T 54 724/G3.1006829 FmPA (The) 108 566 T (control) 129.6 566 T (consists) 166.53 566 T (of) 207.48 566 T (an) 220.41 566 T (OID) 234.68 566 T (string) 258.94 566 T (identifier) 289.21 566 T (and) 336.14 566 T (a) 356.41 566 T (sequence) 364.68 566 T (of) 411.59 566 T (ASN.1) 424.53 566 T (BER) 460.47 566 T (encoded) 486.74 566 T (bytes.) 529.67 566 T (In) 108 552 T (the) 121.11 552 T (absence) 138.88 552 T (of) 179.97 552 T (any) 193.07 552 T (external) 213.51 552 T (information) 255.27 552 T (or) 315.04 552 T (assistance,) 328.15 552 T (the) 382.24 552 T (context) 400.02 552 T (implementation) 438.45 552 T (can) 516.9 552 T (only) 536.66 552 T (return a plain implementation of the) 108 538 T 4 10 Q (Control) 283.98 538 T 2 12 Q ( interface that returns the OID and bytes.) 325.98 538 T (JNDI provides the following abstract class for dealing with response controls:) 108 518 T 54 662/G3.1006835 FmPA 4 10 Q (public abstract javax.naming.ldap.ControlFactory {) 140.4 499.33 T 54 643/G3.1006836 FmPA (...) 165.6 487.33 T 54 631/G3.1006839 FmPA (public static Control getControlInstance\050Control ctl,) 165.6 475.33 T 54 619/G3.1006840 FmPA (Context ctx,) 392.4 463.33 T 54 607/G3.1006841 FmPA (Hashtable env\051) 392.4 451.33 T 54 595/G3.1006842 FmPA (throws NamingException;) 190.8 439.33 T 54 583/G3.1006843 FmPA (public abstract Control getControlInstance\050Control ctl\051) 165.6 427.33 T 54 571/G3.1006844 FmPA (throws NamingException;) 190.8 415.33 T 54 559/G3.1006845 FmPA (}) 140.4 403.33 T 54 547/G3.1006846 FmPA 2 12 Q (When) 108 384 T (a) 139.3 384 T (context) 147.27 384 T (implementation) 185.24 384 T (receives) 263.22 384 T (a) 305.18 384 T (response) 313.15 384 T (control,) 357.78 384 T (it) 397.42 384 T (invokes) 406.74 384 T (the) 446.72 384 T (static) 464.02 384 T 4 10 Q (getControl-) 492 384 T 54 528/G3.1006850 FmPA (Instance\050\051) 108 370 T 2 12 Q (method) 171.09 370 T (to) 210.18 370 T (find) 222.6 370 T (a) 245.02 370 T (control) 253.43 370 T (factory) 290.52 370 T (that) 327.59 370 T (can) 348.68 370 T (narrow) 368.42 370 T (the) 405.49 370 T (control) 423.24 370 T (to) 460.33 370 T (one) 472.75 370 T (that) 493.17 370 T (has) 514.26 370 T (more) 533.34 370 T (user-friendly) 108 356 T (access) 173.37 356 T (methods.) 207.41 356 T (Such) 254.47 356 T (a) 281.86 356 T (control,) 290.58 356 T (for) 330.97 356 T (instance,) 348.35 356 T (can) 394.07 356 T (decode) 414.11 356 T (the) 451.49 356 T (ASN.1) 469.55 356 T (BER) 505.94 356 T (bytes) 532.67 356 T (and) 108 342 T (provide) 127.8 342 T (access) 166.93 342 T (methods) 200.05 342 T (that) 243.2 342 T (return) 263.67 342 T (the) 294.8 342 T (information) 311.93 342 T (as) 371.07 342 T (Java) 383.54 342 T (types.) 407.34 342 T (If) 438.14 342 T (no) 448.61 342 T (such) 463.08 342 T (control) 487.55 342 T (factory) 524.02 342 T (can) 108 328 T (be) 128.26 328 T (found,) 143.2 328 T (the) 177.8 328 T (original) 196.07 328 T (response) 237.01 328 T (control) 282.6 328 T (is) 320.2 328 T (returned.) 331.82 328 T (Here) 378.4 328 T (is) 405.33 328 T (an) 416.94 328 T (example) 431.87 328 T (of) 476.14 328 T (a) 489.74 328 T (hypothetical) 498.67 328 T 4 10 Q (Time) 108 314 T (ResponseControl) 132 314 T 2 12 Q ( which decodes the time of day.) 222 314 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.33/DEST FmPD2 [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 4 F 0 X (public class TimeResponseControl implements Control {) 140.4 713.33 T 54 857/G3.1006994 FmPA (long time;) 165.6 701.33 T 54 845/G3.1006996 FmPA (// Constructor used by ControlFactory) 165.6 689.33 T 54 833/G3.1006998 FmPA (public TimeResponseControl\050String OID, byte[] berVal\051) 165.6 677.33 T 54 821/G3.1006999 FmPA (throws NamingException {) 190.8 665.33 T 54 809/G3.1007061 FmPA (// check validity of OID) 190.8 653.33 T 54 797/G3.1007000 FmPA (time = // extract time from berVal) 190.8 641.33 T 54 785/G3.1007001 FmPA (};) 165.6 629.33 T 54 773/G3.1007002 FmPA 54 761/G3.1007003 FmPA (// Type-safe and User-friendly method) 165.6 605.33 T 54 749/G3.1007004 FmPA (public long getTime\050\051 {) 165.6 593.33 T 54 737/G3.1007005 FmPA (return time;) 190.8 581.33 T 54 725/G3.1007006 FmPA (}) 165.6 569.33 T 54 713/G3.1007007 FmPA (// Low-level methods) 165.6 557.33 T 54 701/G3.1007009 FmPA (public String getID\050\051 {) 165.6 545.33 T 54 689/G3.1007010 FmPA (return TIME_OID;) 190.8 533.33 T 54 677/G3.1007011 FmPA (}) 165.6 521.33 T 54 665/G3.1007012 FmPA (public byte[] getEncodedValue\050\051 {) 165.6 509.33 T 54 653/G3.1007013 FmPA (return // original berVal) 190.8 497.33 T 54 641/G3.1007014 FmPA (}) 165.6 485.33 T 54 629/G3.1007015 FmPA ( ...) 165.6 473.33 T 54 617/G3.1007016 FmPA (}) 140.4 461.33 T 54 605/G3.1007017 FmPA 2 12 Q (A) 108 442 T (control) 120.19 442 T (factory) 157.72 442 T (may) 195.23 442 T (be) 219.42 442 T (responsible) 234.28 442 T (for) 292.46 442 T (one) 309.98 442 T (or) 330.84 442 T (more) 344.36 442 T (controls.) 372.55 442 T (If) 417.74 442 T (the) 429.26 442 T (factory) 447.45 442 T (cannot) 484.97 442 T (return) 520.49 442 T (a) 552.67 442 T 54 586/G3.1006989 FmPA (control) 108 428 T (using) 144.28 428 T (the) 172.57 428 T (arguments) 189.51 428 T (supplied,) 241.79 428 T (it) 287.74 428 T (should) 296.69 428 T (return) 330.98 428 T 4 10 Q (null) 361.92 428 T 2 12 Q (.) 385.92 428 T (Typically,) 391.2 428 T (this) 442.48 428 T (involves) 462.1 428 T (just) 505.05 428 T (match-) 524.68 428 T (ing) 108 414 T (the) 125.82 414 T (control\325s) 142.97 414 T (OID) 188.11 414 T (against) 211.92 414 T (the) 248.4 414 T (list) 265.54 414 T (of) 282.7 414 T (OIDs) 295.18 414 T (supported) 323.66 414 T (by) 373.47 414 T (the) 387.95 414 T (factory.) 405.1 414 T (The) 444.57 414 T (factory) 465.71 414 T (should) 502.18 414 T (only) 536.66 414 T (thrown) 108 400 T (an) 144.81 400 T (exception) 158.96 400 T (if) 208.43 400 T (no) 218.58 400 T (other) 233.4 400 T (control) 260.87 400 T (factories) 297.68 400 T (should) 341.82 400 T (be) 376.64 400 T (tried.) 390.78 400 T (Therefore,) 418.59 400 T (the) 471.71 400 T (factory) 489.2 400 T (should) 526 400 T (be) 108 386 T (careful) 122.9 386 T (about) 159.79 386 T (exceptions) 190.03 386 T (that) 244.93 386 T (might) 266.5 386 T (be) 298.09 386 T (thrown) 312.99 386 T (from) 350.56 386 T (its) 377.46 386 T (implementation.) 392.38 386 T (For) 474.29 386 T (example,) 494.53 386 T (if) 541.76 386 T (a) 552.67 386 T (control) 108 372 T (factory) 144.8 372 T (is) 181.58 372 T (given) 192.39 372 T (a) 221.85 372 T (control) 229.98 372 T (with) 266.78 372 T (an) 290.91 372 T (OID) 305.04 372 T (that) 329.17 372 T (it) 349.97 372 T (supports,) 359.44 372 T (but) 405.91 372 T (the) 424.04 372 T (byte) 441.51 372 T (array) 464.97 372 T (has) 492.42 372 T (an) 511.22 372 T (encod-) 525.35 372 T (ing error, it should throw an exception.) 108 358 T (Here is an example of a control factory:) 108 338 T 54 482/G3.1007066 FmPA 4 10 Q (public class VendorXControlFactory extends ControlFactory {) 140.4 319.33 T 54 463/G3.1006991 FmPA (public VendorXControlFactory \050\051 {) 165.6 307.33 T 54 451/G3.1006855 FmPA (}) 165.6 295.33 T 54 439/G3.1006856 FmPA (public Control getControlInstance\050Control orig\051) 165.6 283.33 T 54 427/G3.1006858 FmPA (throws NamingException {) 190.8 271.33 T 54 415/G3.1006868 FmPA (if \050isOneOfMyControls\050orig.getID\050\051\051\051 {) 190.8 259.33 T 54 403/G3.1006859 FmPA ( ...) 216 247.33 T 54 391/G3.1006860 FmPA (// determine which of ours it is and call its constructor) 216 235.33 T 54 379/G3.1006862 FmPA (return new TimeResponseControl\050orig.getID\050\051,) 216 223.33 T 54 367/G3.1006863 FmPA (orig.getEncodedValue\050\051\051;) 342 211.33 T 54 355/G3.1006871 FmPA (}) 190.8 199.33 T 54 343/G3.1006864 FmPA (return null; // not one of ours) 190.8 187.33 T 54 331/G3.1006865 FmPA (}) 165.6 175.33 T 54 319/G3.1006866 FmPA (}) 140.4 163.33 T 54 307/G3.1006867 FmPA 3 12 Q (4.3.1) 66 141 T (Locating Response Control Factories: The java.naming.factory.control Property) 108 141 T 54 285/G3.1006932 FmPA 2 F (JNDI) 108 121 T (looks) 138.15 121 T (for) 168.3 121 T (response) 186.45 121 T (control) 232.6 121 T (factories) 270.74 121 T (specified) 316.22 121 T (in) 363.69 121 T (the) 377.18 121 T 4 10 Q (java.naming.factory.control) 396 121 T 54 265/G3.1006933 FmPA 2 12 Q (property,) 108 107 T (which) 154.15 107 T (can) 185.98 107 T (be) 205.13 107 T (in) 218.95 107 T (the) 230.78 107 T (environment) 247.94 107 T (or) 311.1 107 T (the) 323.59 107 T (provider) 340.75 107 T (resource) 383.9 107 T (file) 427.04 107 T (\050see) 445.54 107 T (Section) 467.35 107 T (2.9.5\051.) 505.85 107 T (The) 539.34 107 T (property) 108 93 T (contains) 150.97 93 T (a) 193.28 93 T (colon-separated) 200.92 93 T (list) 279.21 93 T (of) 296.2 93 T (fully-qualified) 308.51 93 T (class) 380.15 93 T (names) 405.79 93 T (of) 438.76 93 T (control) 451.07 93 T (factories.) 487.38 93 T (Each) 534.01 93 T (class) 108 79 T (must) 134.61 79 T (implement) 161.23 79 T (the) 215.85 79 T 4 10 Q (ControlFactory) 233.8 79 T 2 12 Q (interface) 321.08 79 T (and) 366.34 79 T (have) 386.95 79 T (a) 412.89 79 T (public) 421.5 79 T (constructor) 454.79 79 T (that) 512.06 79 T (takes) 533.34 79 T [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.34/DEST FmPD2 [/Rect[468 103 530 116]/Border[0 0 0]/Page 22/View[/XYZ null 108 372 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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 (no) 108 712 T (arguments.) 122.69 712 T (For) 178.37 712 T (each) 197.73 712 T (class) 222.41 712 T (in) 248.43 712 T (the) 260.45 712 T (list,) 277.81 712 T (JNDI) 298.18 712 T (attempts) 326.86 712 T (to) 370.22 712 T (load) 382.24 712 T (and) 405.6 712 T (instantiate) 425.62 712 T (the) 477.64 712 T (factory) 495 712 T (class,) 531.67 712 T (and) 108 698 T (to) 128.46 698 T (invoke) 140.93 698 T (the) 176.73 698 T 4 10 Q (ControlFactory.getControlInstance\050\051) 194.53 698 T 2 12 Q (instance) 407.66 698 T (method) 450.12 698 T (on) 489.26 698 T (it) 504.39 698 T (using) 514.2 698 T (the) 543.34 698 T (control,) 108 684 T (context,) 148.2 684 T (and) 189.73 684 T (environment) 210.26 684 T (arguments) 274.12 684 T (supplied.) 327.31 684 T (If) 374.18 684 T (the) 385.38 684 T (factory) 403.24 684 T (produces) 440.43 684 T (a) 486.95 684 T (non-) 495.48 684 T 4 10 Q (null) 517.48 684 T 2 12 Q (re-) 544.68 684 T (sult,) 108 670 T (the) 130.93 670 T (result) 148.19 670 T (is) 177.44 670 T (returned;) 188.04 670 T (otherwise,) 233.95 670 T (JNDI) 286.2 670 T (uses) 314.78 670 T (the) 338.04 670 T (same) 355.3 670 T (procedure) 382.55 670 T (on) 433.12 670 T (the) 447.71 670 T (next) 464.96 670 T (class) 488.22 670 T (in) 514.14 670 T (the) 526.07 670 T (list) 543.32 670 T (until the list is exhausted or a factory returns a non-) 108 656 T 4 10 Q (null) 355.3 656 T 2 12 Q ( result.) 379.3 656 T 3 14 Q (4.4) 72.5 628.67 T (Ownership of Parameters) 108 628.67 T 54 773/G3.1007937 FmPA 2 12 Q (Any) 108 608 T (object) 132.12 608 T (passed) 164.91 608 T (as) 200.36 608 T (a) 213.81 608 T (parameter) 222.6 608 T (to) 274.03 608 T (a) 286.83 608 T (method) 295.61 608 T (in) 335.07 608 T (a) 347.86 608 T (factory) 356.65 608 T (is) 394.09 608 T (owned) 405.55 608 T (by) 441.01 608 T (the) 456.46 608 T (caller.) 474.59 608 T (Therefore,) 507.7 608 T 54 752/G3.1007938 FmPA (the) 108 594 T (factory) 126.4 594 T (is) 164.12 594 T (prohibited) 175.86 594 T (from) 228.93 594 T (maintaining) 256 594 T (a) 317.07 594 T (pointer) 326.13 594 T (to) 363.87 594 T (the) 376.94 594 T (object) 395.34 594 T (beyond) 428.4 594 T (the) 467.47 594 T (duration) 485.87 594 T (of) 529.6 594 T (the) 543.34 594 T (operation) 108 580 T (or) 156.68 580 T (modifying) 170.04 580 T (the) 223.41 580 T (object.) 241.43 580 T (If) 277.12 580 T (the) 288.47 580 T (factory) 306.5 580 T (needs) 343.84 580 T (to) 374.53 580 T (save) 387.22 580 T (the) 411.91 580 T (information) 429.93 580 T (contained) 489.96 580 T (in) 539.97 580 T (a) 552.67 580 T (parameter beyond the duration of the operation, it should maintain its own copy.) 108 566 T 3 14 Q (4.5) 72.5 538.67 T (Reentrancy) 108 538.67 T 54 683/G3.1007939 FmPA 2 12 Q (A) 108 518 T (factory) 119.5 518 T (instance) 156.32 518 T (should) 198.48 518 T (be) 233.32 518 T (reentrant.) 247.49 518 T (That) 295.97 518 T (is,) 320.8 518 T (it) 334.64 518 T (should) 344.15 518 T (be) 378.99 518 T (possible) 393.16 518 T (for) 435.33 518 T (multiple) 452.16 518 T (threads) 495 518 T (to) 532.49 518 T (in-) 544.67 518 T 54 662/G3.1007940 FmPA (voke methods on a single instance of a factory concurrently.) 108 504 T 54 629/G3.998679 FmPA 54 610/G3.1007138 FmPA [/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 SPI) 54 749.33 T (Customizing A Context Implementation) 400.5 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 [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.36/DEST FmPD2 [/Dest/L3/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 (Service Provider Example) 453.03 749.33 T 54 893/G4.1000965 FmPA 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 180/G4.1000972 FmPA 72 180/G4.1000974 FmPA 72 180/G4.1000976 FmPA 72 180/G4.1000978 FmPA 54 72 558 720 R 7 X V 54 840/G4.1000405 FmPA 3 18 Q 0 X ( Appendix A: Service Provider Example) 149.51 415 T 54 559/G4.1000406 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.37/DEST FmPD2 [/Dest/F4/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 (Service Provider Example) 453.03 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 (This) 108 712 T (appendix) 133.01 712 T (contains) 180.67 712 T (a) 224.34 712 T (simple) 233.34 712 T (service) 269.01 712 T (provider.) 306.67 712 T (It) 357.67 712 T (implements) 372.34 712 T (a) 432.02 712 T (flat) 441.01 712 T (namespace) 460.68 712 T (\050with) 517 712 T (no) 546 712 T 54 856/G4.998649 FmPA (federation) 108 698 T (support\051.) 160.57 698 T (It) 207.5 698 T (shows) 218.76 698 T (how) 252.68 698 T (to) 277.27 698 T (produce) 290.54 698 T (a) 333.11 698 T (context) 342.37 698 T (implementation) 381.62 698 T (by) 460.89 698 T (providing) 476.81 698 T (all) 527.41 698 T (the) 543.34 698 T (methods in the) 108 684 T 4 10 Q (Context) 181.67 684 T 2 12 Q ( interface.) 223.67 684 T (An) 108 664 T (instance) 125.98 664 T (of) 168.62 664 T (this) 181.93 664 T (context) 202.58 664 T (is) 241.22 664 T (bound) 252.54 664 T (directly) 285.85 664 T (as) 325.83 664 T (the) 339.13 664 T (initial) 357.11 664 T (context.) 388.43 664 T (This) 430.08 664 T (example) 454.73 664 T (provides) 498.69 664 T (the) 543.34 664 T 54 808/G4.1002115 FmPA (corresponding) 108 650 T 4 10 Q (InitialContextFactory) 179.65 650 T 2 12 Q ( definition.) 305.65 650 T 54 774/G4.998665 FmPA [/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 (Service Provider Example) 453.03 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 3 14 Q 0 X (A.1) 54 710.67 T ( Simple Flat Context) 78.11 710.67 T 54 855/G4.998650 FmPA 3 12 Q (A.1.1) 63.34 687 T (Context Implementation) 108 687 T 54 831/G4.998752 FmPA 54 813/G4.998751 FmPA 4 10 Q (/*) 140.4 657.33 T 54 801/G4.1008892 FmPA ( * @\050#\051FlatCtx.java) 140.4 645.33 T (1.3 99/07/26) 254.4 645.33 T 54 789/G4.1009000 FmPA ( *) 140.4 633.33 T 54 777/G4.1009001 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 621.33 T 54 765/G4.1009002 FmPA ( * Reserved.) 140.4 609.33 T 54 753/G4.1009003 FmPA ( *) 140.4 597.33 T 54 741/G4.1009004 FmPA ( * Sun grants you \050\322Licensee\323\051 a non-exclusive, royalty free,) 140.4 585.33 T 54 729/G4.1009005 FmPA (*) 146.2 573.33 T (license) 158 573.33 T (to) 205.8 573.33 T (use,) 223.6 573.33 T (modify) 253.4 573.33 T (and) 295.2 573.33 T (redistribute) 319 573.33 T (this) 396.8 573.33 T (software) 426.6 573.33 T (in) 480.4 573.33 T (source) 498.2 573.33 T (and) 540 573.33 T 54 717/G4.1009006 FmPA (*) 145.7 561.33 T (binary) 157 561.33 T (code) 198.3 561.33 T (form,) 227.6 561.33 T (provided) 262.9 561.33 T (that) 316.2 561.33 T (i\051) 345.5 561.33 T (this) 362.8 561.33 T (copyright) 392.1 561.33 T (notice) 451.4 561.33 T (and) 492.7 561.33 T (license) 516 561.33 T 54 705/G4.1009007 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not) 140.4 549.33 T 54 693/G4.1009008 FmPA ( * utilize the software in a manner which is disparaging to Sun.) 140.4 537.33 T 54 681/G4.1009009 FmPA ( *) 140.4 525.33 T 54 669/G4.1009010 FmPA ( * This software is provided \322AS IS,\323 without a warranty of any) 140.4 513.33 T 54 657/G4.1009011 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 501.33 T 54 645/G4.1009012 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,) 140.4 489.33 T 54 633/G4.1009013 FmPA ( * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE) 140.4 477.33 T 54 621/G4.1009014 FmPA ( * HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE) 140.4 465.33 T 54 609/G4.1009015 FmPA ( * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,) 140.4 453.33 T 54 597/G4.1009016 FmPA ( * MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN) 140.4 441.33 T 54 585/G4.1009017 FmPA ( * NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST) 140.4 429.33 T 54 573/G4.1009018 FmPA ( * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 417.33 T 54 561/G4.1009019 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER) 140.4 405.33 T 54 549/G4.1009020 FmPA ( * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT) 140.4 393.33 T 54 537/G4.1009021 FmPA ( * OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS) 140.4 381.33 T 54 525/G4.1009022 FmPA ( * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.) 140.4 369.33 T 54 513/G4.1009023 FmPA ( *) 140.4 357.33 T 54 501/G4.1009024 FmPA ( * This software is not designed or intended for use in on-line) 140.4 345.33 T 54 489/G4.1009025 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 333.33 T 54 477/G4.1009026 FmPA ( * communications; or in the design, construction, operation or) 140.4 321.33 T 54 465/G4.1009027 FmPA (*) 144.96 309.33 T (maintenance) 155.52 309.33 T (of) 226.08 309.33 T (any) 242.64 309.33 T (nuclear) 265.2 309.33 T (facility.) 311.76 309.33 T (Licensee) 370.32 309.33 T (represents) 422.88 309.33 T (and) 487.44 309.33 T (warrants) 510 309.33 T 54 453/G4.1009028 FmPA (*) 145.04 297.33 T (that) 155.68 297.33 T (it) 184.32 297.33 T (will) 200.96 297.33 T (not) 229.6 297.33 T (use) 252.24 297.33 T (or) 274.88 297.33 T (redistribute) 291.52 297.33 T (the) 368.16 297.33 T (Software) 390.8 297.33 T (for) 443.44 297.33 T (such) 466.08 297.33 T (purposes.) 494.72 297.33 T 54 441/G4.1009029 FmPA ( */) 140.4 285.33 T 54 429/G4.1009030 FmPA (package examples.spi.flat;) 140.4 273.33 T 54 417/G4.1009031 FmPA 54 405/G4.1009032 FmPA (import javax.naming.*;) 140.4 249.33 T 54 393/G4.1009033 FmPA (import java.util.*;) 140.4 237.33 T 54 381/G4.1009034 FmPA 54 369/G4.1009035 FmPA (/**) 140.4 213.33 T 54 357/G4.1009036 FmPA (*) 145.2 201.33 T (A) 156 201.33 T (sample) 166.8 201.33 T (service) 207.6 201.33 T (provider) 254.4 201.33 T (that) 307.2 201.33 T (implements) 336 201.33 T (a) 400.8 201.33 T (flat) 411.6 201.33 T (namespace) 440.4 201.33 T (in) 499.2 201.33 T (memory.) 516 201.33 T 54 345/G4.1009037 FmPA ( */) 140.4 189.33 T 54 333/G4.1009038 FmPA 54 321/G4.1009039 FmPA (class FlatCtx implements Context {) 140.4 165.33 T 54 309/G4.1009040 FmPA ( Hashtable myEnv;) 140.4 153.33 T 54 297/G4.1009041 FmPA ( private Hashtable bindings = new Hashtable\05011\051;) 140.4 141.33 T 54 285/G4.1009042 FmPA ( static NameParser myParser = new FlatNameParser\050\051;) 140.4 129.33 T 54 273/G4.1009043 FmPA 54 261/G4.1009044 FmPA ( FlatCtx\050Hashtable environment\051 {) 140.4 105.33 T 54 249/G4.1009045 FmPA ( myEnv = \050environment != null\051) 140.4 93.33 T 54 237/G4.1009046 FmPA ( ? \050Hashtable\051\050environment.clone\050\051\051) 165.6 81.33 T 54 225/G4.1009047 FmPA [/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 (Service Provider Example) 453.03 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 4 F 0 X ( : null;) 165.6 713.33 T 54 857/G4.1009048 FmPA ( }) 140.4 701.33 T 54 845/G4.1009049 FmPA 54 833/G4.1009050 FmPA ( public Object lookup\050String name\051 throws NamingException {) 140.4 677.33 T 54 821/G4.1009051 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 665.33 T 54 809/G4.1009052 FmPA (//) 204.89 653.33 T (Asking) 222.26 653.33 T (to) 263.63 653.33 T (look) 281.01 653.33 T (up) 310.38 653.33 T (this) 327.76 653.33 T (context) 357.13 653.33 T (itself.) 404.5 653.33 T (Create) 457.25 653.33 T (and) 498.62 653.33 T (return) 522 653.33 T 54 797/G4.1009053 FmPA ( // a new instance with its own independent environment.) 140.4 641.33 T 54 785/G4.1009054 FmPA ( return \050new FlatCtx\050myEnv\051\051;) 140.4 629.33 T 54 773/G4.1009055 FmPA ( }) 140.4 617.33 T 54 761/G4.1009056 FmPA ( Object answer = bindings.get\050name\051;) 140.4 605.33 T 54 749/G4.1009057 FmPA ( if \050answer == null\051 {) 140.4 593.33 T 54 737/G4.1009058 FmPA ( throw new NameNotFoundException\050name + \322 not found\323\051;) 140.4 581.33 T 54 725/G4.1009059 FmPA ( }) 140.4 569.33 T 54 713/G4.1009060 FmPA ( return answer;) 140.4 557.33 T 54 701/G4.1009061 FmPA ( }) 140.4 545.33 T 54 689/G4.1009062 FmPA 54 677/G4.1009063 FmPA ( public Object lookup\050Name name\051 throws NamingException {) 140.4 521.33 T 54 665/G4.1009064 FmPA ( // Flat namespace; no federation; just call string version) 140.4 509.33 T 54 653/G4.1009065 FmPA ( return lookup\050name.toString\050\051\051;) 140.4 497.33 T 54 641/G4.1009066 FmPA ( }) 140.4 485.33 T 54 629/G4.1009067 FmPA 54 617/G4.1009068 FmPA (public) 163.6 461.33 T (void) 205.4 461.33 T (bind\050String) 235.2 461.33 T (name,) 307 461.33 T (Object) 342.8 461.33 T (obj\051) 384.6 461.33 T (throws) 414.4 461.33 T (NamingException) 456.2 461.33 T ({) 552 461.33 T 54 605/G4.1009069 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 449.33 T 54 593/G4.1009070 FmPA ( throw new InvalidNameException\050\322Cannot bind empty name\323\051;) 140.4 437.33 T 54 581/G4.1009071 FmPA ( }) 140.4 425.33 T 54 569/G4.1009072 FmPA ( if \050bindings.get\050name\051 != null\051 {) 140.4 413.33 T 54 557/G4.1009073 FmPA ( throw new NameAlreadyBoundException\050) 140.4 401.33 T 54 545/G4.1009074 FmPA ( \322Use rebind to override\323\051;) 140.4 389.33 T 54 533/G4.1009075 FmPA ( }) 140.4 377.33 T 54 521/G4.1009076 FmPA ( bindings.put\050name, obj\051;) 140.4 365.33 T 54 509/G4.1009077 FmPA ( }) 140.4 353.33 T 54 497/G4.1009078 FmPA 54 485/G4.1009079 FmPA ( public void bind\050Name name, Object obj\051 throws NamingException {) 140.4 329.33 T 54 473/G4.1009080 FmPA ( // Flat namespace; no federation; just call string version) 140.4 317.33 T 54 461/G4.1009081 FmPA ( bind\050name.toString\050\051, obj\051;) 140.4 305.33 T 54 449/G4.1009082 FmPA ( }) 140.4 293.33 T 54 437/G4.1009083 FmPA 54 425/G4.1009084 FmPA (public) 159.6 269.33 T (void) 200.4 269.33 T (rebind\050String) 229.2 269.33 T (name,) 312 269.33 T (Object) 346.8 269.33 T (obj\051) 387.6 269.33 T (throws) 416.4 269.33 T (NamingException) 457.2 269.33 T ({) 552 269.33 T 54 413/G4.1009085 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 257.33 T 54 401/G4.1009086 FmPA ( throw new InvalidNameException\050\322Cannot bind empty name\323\051;) 140.4 245.33 T 54 389/G4.1009087 FmPA ( }) 140.4 233.33 T 54 377/G4.1009088 FmPA ( bindings.put\050name, obj\051;) 140.4 221.33 T 54 365/G4.1009089 FmPA ( }) 140.4 209.33 T 54 353/G4.1009090 FmPA 54 341/G4.1009091 FmPA (public) 163.6 185.33 T (void) 205.4 185.33 T (rebind\050Name) 235.2 185.33 T (name,) 307 185.33 T (Object) 342.8 185.33 T (obj\051) 384.6 185.33 T (throws) 414.4 185.33 T (NamingException) 456.2 185.33 T ({) 552 185.33 T 54 329/G4.1009092 FmPA ( // Flat namespace; no federation; just call string version) 140.4 173.33 T 54 317/G4.1009093 FmPA ( rebind\050name.toString\050\051, obj\051;) 140.4 161.33 T 54 305/G4.1009094 FmPA ( }) 140.4 149.33 T 54 293/G4.1009095 FmPA 54 281/G4.1009096 FmPA ( public void unbind\050String name\051 throws NamingException {) 140.4 125.33 T 54 269/G4.1009097 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 113.33 T 54 257/G4.1009098 FmPA (throw) 206.47 101.33 T (new) 241.98 101.33 T (InvalidNameException\050\322Cannot) 265.48 101.33 T (unbind) 438.99 101.33 T (empty) 480.49 101.33 T (name\323\051;) 516 101.33 T 54 245/G4.1009099 FmPA ( }) 140.4 89.33 T 54 233/G4.1009100 FmPA ( bindings.remove\050name\051;) 140.4 77.33 T 54 221/G4.1009101 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.40/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 (Service Provider Example) 453.03 749.33 T 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 72 558 720 R 7 X V 4 F 0 X ( }) 140.4 713.33 T 54 857/G4.1009102 FmPA 54 845/G4.1009103 FmPA ( public void unbind\050Name name\051 throws NamingException {) 140.4 689.33 T 54 833/G4.1009104 FmPA ( // Flat namespace; no federation; just call string version) 140.4 677.33 T 54 821/G4.1009105 FmPA ( unbind\050name.toString\050\051\051;) 140.4 665.33 T 54 809/G4.1009106 FmPA ( }) 140.4 653.33 T 54 797/G4.1009107 FmPA 54 785/G4.1009108 FmPA ( public void rename\050String oldname, String newname\051) 140.4 629.33 T 54 773/G4.1009109 FmPA ( throws NamingException {) 140.4 617.33 T 54 761/G4.1009110 FmPA ( if \050oldname.equals\050\322\322\051 || newname.equals\050\322\322\051\051 {) 140.4 605.33 T 54 749/G4.1009111 FmPA (throw) 206.47 593.33 T (new) 241.98 593.33 T (InvalidNameException\050\322Cannot) 265.48 593.33 T (rename) 438.99 593.33 T (empty) 480.49 593.33 T (name\323\051;) 516 593.33 T 54 737/G4.1009112 FmPA ( }) 140.4 581.33 T 54 725/G4.1009113 FmPA 54 713/G4.1009114 FmPA ( // Check if new name exists) 140.4 557.33 T 54 701/G4.1009115 FmPA ( if \050bindings.get\050newname\051 != null\051 {) 140.4 545.33 T 54 689/G4.1009116 FmPA ( throw new NameAlreadyBoundException\050newname +) 140.4 533.33 T 54 677/G4.1009117 FmPA ( \322 is already bound\323\051;) 140.4 521.33 T 54 665/G4.1009118 FmPA ( }) 140.4 509.33 T 54 653/G4.1009119 FmPA 54 641/G4.1009120 FmPA ( // Check if old name is bound) 140.4 485.33 T 54 629/G4.1009121 FmPA ( Object oldBinding = bindings.remove\050oldname\051;) 140.4 473.33 T 54 617/G4.1009122 FmPA ( if \050oldBinding == null\051 {) 140.4 461.33 T 54 605/G4.1009123 FmPA ( throw new NameNotFoundException\050oldname + \322 not bound\323\051;) 140.4 449.33 T 54 593/G4.1009124 FmPA ( }) 140.4 437.33 T 54 581/G4.1009125 FmPA 54 569/G4.1009126 FmPA ( bindings.put\050newname, oldBinding\051;) 140.4 413.33 T 54 557/G4.1009127 FmPA ( }) 140.4 401.33 T 54 545/G4.1009128 FmPA 54 533/G4.1009129 FmPA ( public void rename\050Name oldname, Name newname\051) 140.4 377.33 T 54 521/G4.1009130 FmPA ( throws NamingException {) 140.4 365.33 T 54 509/G4.1009131 FmPA ( // Flat namespace; no federation; just call string version) 140.4 353.33 T 54 497/G4.1009132 FmPA ( rename\050oldname.toString\050\051, newname.toString\050\051\051;) 140.4 341.33 T 54 485/G4.1009133 FmPA ( }) 140.4 329.33 T 54 473/G4.1009134 FmPA 54 461/G4.1009135 FmPA ( public NamingEnumeration list\050String name\051) 140.4 305.33 T 54 449/G4.1009136 FmPA ( throws NamingException {) 140.4 293.33 T 54 437/G4.1009137 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 281.33 T 54 425/G4.1009138 FmPA ( // listing this context) 140.4 269.33 T 54 413/G4.1009139 FmPA ( return new FlatNames\050bindings.keys\050\051\051;) 140.4 257.33 T 54 401/G4.1009140 FmPA ( }) 140.4 245.33 T 54 389/G4.1009141 FmPA 54 377/G4.1009142 FmPA ( // Perhaps \324name\325 names a context) 140.4 221.33 T 54 365/G4.1009143 FmPA ( Object target = lookup\050name\051;) 140.4 209.33 T 54 353/G4.1009144 FmPA ( if \050target instanceof Context\051 {) 140.4 197.33 T 54 341/G4.1009145 FmPA ( return \050\050Context\051target\051.list\050\322\322\051;) 140.4 185.33 T 54 329/G4.1009146 FmPA ( }) 140.4 173.33 T 54 317/G4.1009147 FmPA ( throw new NotContextException\050name + \322 cannot be listed\323\051;) 140.4 161.33 T 54 305/G4.1009148 FmPA ( }) 140.4 149.33 T 54 293/G4.1009149 FmPA 54 281/G4.1009150 FmPA ( public NamingEnumeration list\050Name name\051) 140.4 125.33 T 54 269/G4.1009151 FmPA ( throws NamingException {) 140.4 113.33 T 54 257/G4.1009152 FmPA ( // Flat namespace; no federation; just call string version) 140.4 101.33 T 54 245/G4.1009153 FmPA ( return list\050name.toString\050\051\051;) 140.4 89.33 T 54 233/G4.1009154 FmPA ( }) 140.4 77.33 T 54 221/G4.1009155 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.41/DEST FmPD2 [/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 (Service Provider Example) 453.03 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 54 857/G4.1009156 FmPA 4 F 0 X ( public NamingEnumeration listBindings\050String name\051) 140.4 701.33 T 54 845/G4.1009157 FmPA ( throws NamingException {) 140.4 689.33 T 54 833/G4.1009158 FmPA ( if \050name.equals\050\322\322\051\051 {) 140.4 677.33 T 54 821/G4.1009159 FmPA ( // listing this context) 140.4 665.33 T 54 809/G4.1009160 FmPA ( return new FlatBindings\050bindings.keys\050\051\051;) 140.4 653.33 T 54 797/G4.1009161 FmPA ( }) 140.4 641.33 T 54 785/G4.1009162 FmPA 54 773/G4.1009163 FmPA ( // Perhaps \324name\325 names a context) 140.4 617.33 T 54 761/G4.1009164 FmPA ( Object target = lookup\050name\051;) 140.4 605.33 T 54 749/G4.1009165 FmPA ( if \050target instanceof Context\051 {) 140.4 593.33 T 54 737/G4.1009166 FmPA ( return \050\050Context\051target\051.listBindings\050\322\322\051;) 140.4 581.33 T 54 725/G4.1009167 FmPA ( }) 140.4 569.33 T 54 713/G4.1009168 FmPA ( throw new NotContextException\050name + \322 cannot be listed\323\051;) 140.4 557.33 T 54 701/G4.1009169 FmPA ( }) 140.4 545.33 T 54 689/G4.1009170 FmPA 54 677/G4.1009171 FmPA ( public NamingEnumeration listBindings\050Name name\051) 140.4 521.33 T 54 665/G4.1009172 FmPA ( throws NamingException {) 140.4 509.33 T 54 653/G4.1009173 FmPA ( // Flat namespace; no federation; just call string version) 140.4 497.33 T 54 641/G4.1009174 FmPA ( return listBindings\050name.toString\050\051\051;) 140.4 485.33 T 54 629/G4.1009175 FmPA ( }) 140.4 473.33 T 54 617/G4.1009176 FmPA 54 605/G4.1009177 FmPA (public) 161.04 449.33 T (void) 202.2 449.33 T (destroySubcontext\050String) 231.36 449.33 T (name\051) 380.52 449.33 T (throws) 415.68 449.33 T (NamingException) 456.84 449.33 T ({) 552 449.33 T 54 593/G4.1009178 FmPA ( throw new OperationNotSupportedException\050) 140.4 437.33 T 54 581/G4.1009179 FmPA ( \322FlatCtx does not support subcontexts\323\051;) 140.4 425.33 T 54 569/G4.1009180 FmPA ( }) 140.4 413.33 T 54 557/G4.1009181 FmPA 54 545/G4.1009182 FmPA ( public void destroySubcontext\050Name name\051 throws NamingException {) 140.4 389.33 T 54 533/G4.1009183 FmPA ( // Flat namespace; no federation; just call string version) 140.4 377.33 T 54 521/G4.1009184 FmPA ( destroySubcontext\050name.toString\050\051\051;) 140.4 365.33 T 54 509/G4.1009185 FmPA ( }) 140.4 353.33 T 54 497/G4.1009186 FmPA 54 485/G4.1009187 FmPA ( public Context createSubcontext\050String name\051) 140.4 329.33 T 54 473/G4.1009188 FmPA ( throws NamingException {) 140.4 317.33 T 54 461/G4.1009189 FmPA ( throw new OperationNotSupportedException\050) 140.4 305.33 T 54 449/G4.1009190 FmPA ( \322FlatCtx does not support subcontexts\323\051;) 140.4 293.33 T 54 437/G4.1009191 FmPA ( }) 140.4 281.33 T 54 425/G4.1009192 FmPA 54 413/G4.1009193 FmPA (public) 161.04 257.33 T (Context) 202.2 257.33 T (createSubcontext\050Name) 249.36 257.33 T (name\051) 380.52 257.33 T (throws) 415.68 257.33 T (NamingException) 456.84 257.33 T ({) 552 257.33 T 54 401/G4.1009194 FmPA ( // Flat namespace; no federation; just call string version) 140.4 245.33 T 54 389/G4.1009195 FmPA ( return createSubcontext\050name.toString\050\051\051;) 140.4 233.33 T 54 377/G4.1009196 FmPA ( }) 140.4 221.33 T 54 365/G4.1009197 FmPA 54 353/G4.1009198 FmPA ( public Object lookupLink\050String name\051 throws NamingException {) 140.4 197.33 T 54 341/G4.1009199 FmPA ( // This flat context does not treat links specially) 140.4 185.33 T 54 329/G4.1009200 FmPA ( return lookup\050name\051;) 140.4 173.33 T 54 317/G4.1009201 FmPA ( }) 140.4 161.33 T 54 305/G4.1009202 FmPA 54 293/G4.1009203 FmPA ( public Object lookupLink\050Name name\051 throws NamingException {) 140.4 137.33 T 54 281/G4.1009204 FmPA ( // Flat namespace; no federation; just call string version) 140.4 125.33 T 54 269/G4.1009205 FmPA ( return lookupLink\050name.toString\050\051\051;) 140.4 113.33 T 54 257/G4.1009206 FmPA ( }) 140.4 101.33 T 54 245/G4.1009207 FmPA 54 233/G4.1009208 FmPA ( public NameParser getNameParser\050String name\051) 140.4 77.33 T 54 221/G4.1009209 FmPA [/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 (Service Provider Example) 453.03 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 4 F 0 X ( throws NamingException {) 140.4 713.33 T 54 857/G4.1009210 FmPA ( return myParser;) 140.4 701.33 T 54 845/G4.1009211 FmPA ( }) 140.4 689.33 T 54 833/G4.1009212 FmPA 54 821/G4.1009213 FmPA (public) 161.04 665.33 T (NameParser) 202.2 665.33 T (getNameParser\050Name) 267.36 665.33 T (name\051) 380.52 665.33 T (throws) 415.68 665.33 T (NamingException) 456.84 665.33 T ({) 552 665.33 T 54 809/G4.1009214 FmPA ( // Flat namespace; no federation; just call string version) 140.4 653.33 T 54 797/G4.1009215 FmPA ( return getNameParser\050name.toString\050\051\051;) 140.4 641.33 T 54 785/G4.1009216 FmPA ( }) 140.4 629.33 T 54 773/G4.1009217 FmPA 54 761/G4.1009218 FmPA ( public String composeName\050String name, String prefix\051) 140.4 605.33 T 54 749/G4.1009219 FmPA ( throws NamingException {) 140.4 593.33 T 54 737/G4.1009220 FmPA ( Name result = composeName\050new CompositeName\050name\051,) 140.4 581.33 T 54 725/G4.1009221 FmPA ( new CompositeName\050prefix\051\051;) 140.4 569.33 T 54 713/G4.1009222 FmPA ( return result.toString\050\051;) 140.4 557.33 T 54 701/G4.1009223 FmPA ( }) 140.4 545.33 T 54 689/G4.1009224 FmPA 54 677/G4.1009225 FmPA ( public Name composeName\050Name name, Name prefix\051) 140.4 521.33 T 54 665/G4.1009226 FmPA ( throws NamingException {) 140.4 509.33 T 54 653/G4.1009227 FmPA ( Name result = \050Name\051\050prefix.clone\050\051\051;) 140.4 497.33 T 54 641/G4.1009228 FmPA ( result.addAll\050name\051;) 140.4 485.33 T 54 629/G4.1009229 FmPA ( return result;) 140.4 473.33 T 54 617/G4.1009230 FmPA ( }) 140.4 461.33 T 54 605/G4.1009231 FmPA 54 593/G4.1009232 FmPA ( public Object addToEnvironment\050String propName, Object propVal\051) 140.4 437.33 T 54 581/G4.1009233 FmPA ( throws NamingException {) 140.4 425.33 T 54 569/G4.1009234 FmPA ( if \050myEnv == null\051 {) 140.4 413.33 T 54 557/G4.1009235 FmPA ( myEnv = new Hashtable\0505, 0.75f\051;) 140.4 401.33 T 54 545/G4.1009236 FmPA (}) 165.6 389.33 T 54 533/G4.1009237 FmPA (return myEnv.put\050propName, propVal\051;) 165.6 377.33 T 54 521/G4.1009238 FmPA ( }) 140.4 365.33 T 54 509/G4.1009239 FmPA 54 497/G4.1009240 FmPA ( public Object removeFromEnvironment\050String propName\051) 140.4 341.33 T 54 485/G4.1009241 FmPA ( throws NamingException {) 140.4 329.33 T 54 473/G4.1009242 FmPA ( if \050myEnv == null\051) 140.4 317.33 T 54 461/G4.1009243 FmPA ( return null;) 140.4 305.33 T 54 449/G4.1009244 FmPA 54 437/G4.1009245 FmPA (return myEnv.remove\050propName\051;) 165.6 281.33 T 54 425/G4.1009246 FmPA ( }) 140.4 269.33 T 54 413/G4.1009247 FmPA 54 401/G4.1009248 FmPA ( public Hashtable getEnvironment\050\051 throws NamingException {) 140.4 245.33 T 54 389/G4.1009249 FmPA (if \050myEnv == null\051 {) 165.6 233.33 T 54 377/G4.1009250 FmPA ( // Must return non-null) 165.6 221.33 T 54 365/G4.1009251 FmPA ( myEnv = new Hashtable\0503, 0.75f\051;) 165.6 209.33 T 54 353/G4.1009252 FmPA (}) 165.6 197.33 T 54 341/G4.1009253 FmPA ( return myEnv;) 140.4 185.33 T 54 329/G4.1009254 FmPA ( }) 140.4 173.33 T 54 317/G4.1009255 FmPA 54 305/G4.1009256 FmPA ( public String getNameInNamespace\050\051 throws NamingException {) 140.4 149.33 T 54 293/G4.1009257 FmPA (return \322\322;) 165.6 137.33 T 54 281/G4.1009258 FmPA ( }) 140.4 125.33 T 54 269/G4.1009259 FmPA 54 257/G4.1009260 FmPA ( public void close\050\051 throws NamingException {) 140.4 101.33 T 54 245/G4.1009261 FmPA (myEnv = null;) 165.6 89.33 T 54 233/G4.1009262 FmPA (bindings = null;) 165.6 77.33 T 54 221/G4.1009263 FmPA [/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 (Service Provider Example) 453.03 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 4 F 0 X ( }) 140.4 713.33 T 54 857/G4.1009264 FmPA 54 845/G4.1009265 FmPA ( // Class for enumerating name/class pairs) 140.4 689.33 T 54 833/G4.1009266 FmPA ( class FlatNames implements NamingEnumeration {) 140.4 677.33 T 54 821/G4.1009267 FmPA ( Enumeration names;) 140.4 665.33 T 54 809/G4.1009268 FmPA 54 797/G4.1009269 FmPA ( FlatNames \050Enumeration names\051 {) 140.4 641.33 T 54 785/G4.1009270 FmPA ( this.names = names;) 140.4 629.33 T 54 773/G4.1009271 FmPA ( }) 140.4 617.33 T 54 761/G4.1009272 FmPA 54 749/G4.1009273 FmPA ( public boolean hasMoreElements\050\051 {) 140.4 593.33 T 54 737/G4.1009274 FmPA ( return names.hasMoreElements\050\051;) 140.4 581.33 T 54 725/G4.1009275 FmPA ( }) 140.4 569.33 T 54 713/G4.1009276 FmPA 54 701/G4.1009277 FmPA ( public boolean hasMore\050\051 throws NamingException {) 140.4 545.33 T 54 689/G4.1009278 FmPA ( return hasMoreElements\050\051;) 140.4 533.33 T 54 677/G4.1009279 FmPA ( }) 140.4 521.33 T 54 665/G4.1009280 FmPA 54 653/G4.1009281 FmPA ( public Object nextElement\050\051 {) 140.4 497.33 T 54 641/G4.1009282 FmPA ( String name = \050String\051names.nextElement\050\051;) 140.4 485.33 T 54 629/G4.1009283 FmPA (String) 205.68 473.33 T (className) 247.12 473.33 T (=) 306.56 473.33 T (bindings.get\050name\051.getClass\050\051.getName\050\051;) 318 473.33 T 54 617/G4.1009284 FmPA ( return new NameClassPair\050name, className\051;) 140.4 461.33 T 54 605/G4.1009285 FmPA ( }) 140.4 449.33 T 54 593/G4.1009286 FmPA 54 581/G4.1009287 FmPA ( public Object next\050\051 throws NamingException {) 140.4 425.33 T 54 569/G4.1009288 FmPA ( return nextElement\050\051;) 140.4 413.33 T 54 557/G4.1009289 FmPA ( }) 140.4 401.33 T 54 545/G4.1009290 FmPA (public void close\050\051 {) 165.6 389.33 T 54 533/G4.1009291 FmPA (}) 165.6 377.33 T 54 521/G4.1009292 FmPA ( }) 140.4 365.33 T 54 509/G4.1009293 FmPA 54 497/G4.1009294 FmPA ( // Class for enumerating bindings) 140.4 341.33 T 54 485/G4.1009295 FmPA ( class FlatBindings implements NamingEnumeration {) 140.4 329.33 T 54 473/G4.1009296 FmPA ( Enumeration names;) 140.4 317.33 T 54 461/G4.1009297 FmPA 54 449/G4.1009298 FmPA ( FlatBindings \050Enumeration names\051 {) 140.4 293.33 T 54 437/G4.1009299 FmPA ( this.names = names;) 140.4 281.33 T 54 425/G4.1009300 FmPA ( }) 140.4 269.33 T 54 413/G4.1009301 FmPA 54 401/G4.1009302 FmPA ( public boolean hasMoreElements\050\051 {) 140.4 245.33 T 54 389/G4.1009303 FmPA ( return names.hasMoreElements\050\051;) 140.4 233.33 T 54 377/G4.1009304 FmPA ( }) 140.4 221.33 T 54 365/G4.1009305 FmPA 54 353/G4.1009306 FmPA ( public boolean hasMore\050\051 throws NamingException {) 140.4 197.33 T 54 341/G4.1009307 FmPA ( return hasMoreElements\050\051;) 140.4 185.33 T 54 329/G4.1009308 FmPA ( }) 140.4 173.33 T 54 317/G4.1009309 FmPA 54 305/G4.1009310 FmPA ( public Object nextElement\050\051 {) 140.4 149.33 T 54 293/G4.1009311 FmPA ( String name = \050String\051names.nextElement\050\051;) 140.4 137.33 T 54 281/G4.1009312 FmPA ( return new Binding\050name, bindings.get\050name\051\051;) 140.4 125.33 T 54 269/G4.1009313 FmPA ( }) 140.4 113.33 T 54 257/G4.1009314 FmPA 54 245/G4.1009315 FmPA ( public Object next\050\051 throws NamingException {) 140.4 89.33 T 54 233/G4.1009316 FmPA ( return nextElement\050\051;) 140.4 77.33 T 54 221/G4.1009317 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.44/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 (Service Provider Example) 453.03 749.33 T 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 72 558 720 R 7 X V 4 F 0 X ( }) 140.4 713.33 T 54 857/G4.1009318 FmPA (public void close\050\051 {) 165.6 701.33 T 54 845/G4.1009319 FmPA (}) 165.6 689.33 T 54 833/G4.1009320 FmPA ( }) 140.4 677.33 T 54 821/G4.1009321 FmPA (};) 140.4 665.33 T 54 809/G4.1009322 FmPA 54 797/G4.1009323 FmPA 54 778/G4.998651 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.45/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 (Service Provider Example) 453.03 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 3 12 Q 0 X (A.1.2) 63.34 712 T (Name Parser) 108 712 T 54 856/G4.998652 FmPA 4 10 Q (/*) 140.4 693.33 T 54 837/G4.1008945 FmPA ( * @\050#\051FlatNameParser.java) 140.4 681.33 T (1.3 99/07/26) 296.4 681.33 T 54 825/G4.1009325 FmPA ( *) 140.4 669.33 T 54 813/G4.1009326 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 657.33 T 54 801/G4.1009327 FmPA ( * Reserved.) 140.4 645.33 T 54 789/G4.1009328 FmPA ( *) 140.4 633.33 T 54 777/G4.1009329 FmPA ( * Sun grants you \050\322Licensee\323\051 a non-exclusive, royalty free,) 140.4 621.33 T 54 765/G4.1009330 FmPA (*) 146.2 609.33 T (license) 158 609.33 T (to) 205.8 609.33 T (use,) 223.6 609.33 T (modify) 253.4 609.33 T (and) 295.2 609.33 T (redistribute) 319 609.33 T (this) 396.8 609.33 T (software) 426.6 609.33 T (in) 480.4 609.33 T (source) 498.2 609.33 T (and) 540 609.33 T 54 753/G4.1009331 FmPA (*) 145.7 597.33 T (binary) 157 597.33 T (code) 198.3 597.33 T (form,) 227.6 597.33 T (provided) 262.9 597.33 T (that) 316.2 597.33 T (i\051) 345.5 597.33 T (this) 362.8 597.33 T (copyright) 392.1 597.33 T (notice) 451.4 597.33 T (and) 492.7 597.33 T (license) 516 597.33 T 54 741/G4.1009332 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not) 140.4 585.33 T 54 729/G4.1009333 FmPA ( * utilize the software in a manner which is disparaging to Sun.) 140.4 573.33 T 54 717/G4.1009334 FmPA ( *) 140.4 561.33 T 54 705/G4.1009335 FmPA ( * This software is provided \322AS IS,\323 without a warranty of any) 140.4 549.33 T 54 693/G4.1009336 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 537.33 T 54 681/G4.1009337 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,) 140.4 525.33 T 54 669/G4.1009338 FmPA ( * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE) 140.4 513.33 T 54 657/G4.1009339 FmPA ( * HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE) 140.4 501.33 T 54 645/G4.1009340 FmPA ( * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,) 140.4 489.33 T 54 633/G4.1009341 FmPA ( * MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN) 140.4 477.33 T 54 621/G4.1009342 FmPA ( * NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST) 140.4 465.33 T 54 609/G4.1009343 FmPA ( * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 453.33 T 54 597/G4.1009344 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER) 140.4 441.33 T 54 585/G4.1009345 FmPA ( * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT) 140.4 429.33 T 54 573/G4.1009346 FmPA ( * OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS) 140.4 417.33 T 54 561/G4.1009347 FmPA ( * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.) 140.4 405.33 T 54 549/G4.1009348 FmPA ( *) 140.4 393.33 T 54 537/G4.1009349 FmPA ( * This software is not designed or intended for use in on-line) 140.4 381.33 T 54 525/G4.1009350 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 369.33 T 54 513/G4.1009351 FmPA ( * communications; or in the design, construction, operation or) 140.4 357.33 T 54 501/G4.1009352 FmPA (*) 144.96 345.33 T (maintenance) 155.52 345.33 T (of) 226.08 345.33 T (any) 242.64 345.33 T (nuclear) 265.2 345.33 T (facility.) 311.76 345.33 T (Licensee) 370.32 345.33 T (represents) 422.88 345.33 T (and) 487.44 345.33 T (warrants) 510 345.33 T 54 489/G4.1009353 FmPA (*) 145.37 333.33 T (that) 156.34 333.33 T (it) 185.31 333.33 T (will) 202.29 333.33 T (not) 231.26 333.33 T (use) 254.23 333.33 T (or) 277.2 333.33 T (redistribute) 294.17 333.33 T (the) 371.14 333.33 T (Software) 394.11 333.33 T (for) 447.08 333.33 T (such) 470.06 333.33 T (purposes.) 499.03 333.33 T 54 477/G4.1009354 FmPA ( */) 140.4 321.33 T 54 465/G4.1009355 FmPA (package examples.spi.flat;) 140.4 309.33 T 54 453/G4.1009356 FmPA 54 441/G4.1009357 FmPA (import javax.naming.NameParser;) 140.4 285.33 T 54 429/G4.1009358 FmPA (import javax.naming.Name;) 140.4 273.33 T 54 417/G4.1009359 FmPA (import javax.naming.CompoundName;) 140.4 261.33 T 54 405/G4.1009360 FmPA (import javax.naming.NamingException;) 140.4 249.33 T 54 393/G4.1009361 FmPA (import java.util.Properties;) 140.4 237.33 T 54 381/G4.1009362 FmPA 54 369/G4.1009363 FmPA (class FlatNameParser implements NameParser {) 140.4 213.33 T 54 357/G4.1009364 FmPA 54 345/G4.1009365 FmPA ( static Properties syntax = new Properties\050\051;) 140.4 189.33 T 54 333/G4.1009366 FmPA ( static {) 140.4 177.33 T 54 321/G4.1009367 FmPA ( syntax.put\050\322jndi.syntax.direction\323, \322flat\323\051;) 140.4 165.33 T 54 309/G4.1009368 FmPA ( syntax.put\050\322jndi.syntax.ignorecase\323, \322false\323\051;) 140.4 153.33 T 54 297/G4.1009369 FmPA ( }) 140.4 141.33 T 54 285/G4.1009370 FmPA ( public Name parse\050String name\051 throws NamingException {) 140.4 129.33 T 54 273/G4.1009371 FmPA ( return new CompoundName\050name, syntax\051;) 140.4 117.33 T 54 261/G4.1009372 FmPA ( }) 140.4 105.33 T 54 249/G4.1009373 FmPA (}) 140.4 93.33 T 54 237/G4.1009374 FmPA 54 225/G4.1009375 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 (Service Provider Example) 453.03 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 54 857/G4.1009376 FmPA 3 12 Q 0 X (A.1.3) 63.34 691 T (Initial Context Factory) 108 691 T 54 835/G4.1002465 FmPA 4 10 Q (/*) 140.4 672.33 T 54 816/G4.1008990 FmPA ( * @\050#\051FlatInitCtxFactory.java) 140.4 660.33 T (1.3 99/07/26) 320.4 660.33 T 54 804/G4.1009378 FmPA ( *) 140.4 648.33 T 54 792/G4.1009379 FmPA ( * Copyright 1997, 1998, 1999 Sun Microsystems, Inc. All Rights) 140.4 636.33 T 54 780/G4.1009380 FmPA ( * Reserved.) 140.4 624.33 T 54 768/G4.1009381 FmPA ( *) 140.4 612.33 T 54 756/G4.1009382 FmPA ( * Sun grants you \050\322Licensee\323\051 a non-exclusive, royalty free,) 140.4 600.33 T 54 744/G4.1009383 FmPA (*) 146.2 588.33 T (license) 158 588.33 T (to) 205.8 588.33 T (use,) 223.6 588.33 T (modify) 253.4 588.33 T (and) 295.2 588.33 T (redistribute) 319 588.33 T (this) 396.8 588.33 T (software) 426.6 588.33 T (in) 480.4 588.33 T (source) 498.2 588.33 T (and) 540 588.33 T 54 732/G4.1009384 FmPA (*) 145.7 576.33 T (binary) 157 576.33 T (code) 198.3 576.33 T (form,) 227.6 576.33 T (provided) 262.9 576.33 T (that) 316.2 576.33 T (i\051) 345.5 576.33 T (this) 362.8 576.33 T (copyright) 392.1 576.33 T (notice) 451.4 576.33 T (and) 492.7 576.33 T (license) 516 576.33 T 54 720/G4.1009385 FmPA ( * appear on all copies of the software; and ii\051 Licensee does not) 140.4 564.33 T 54 708/G4.1009386 FmPA ( * utilize the software in a manner which is disparaging to Sun.) 140.4 552.33 T 54 696/G4.1009387 FmPA ( *) 140.4 540.33 T 54 684/G4.1009388 FmPA ( * This software is provided \322AS IS,\323 without a warranty of any) 140.4 528.33 T 54 672/G4.1009389 FmPA ( * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND) 140.4 516.33 T 54 660/G4.1009390 FmPA ( * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,) 140.4 504.33 T 54 648/G4.1009391 FmPA ( * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE) 140.4 492.33 T 54 636/G4.1009392 FmPA ( * HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE) 140.4 480.33 T 54 624/G4.1009393 FmPA ( * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,) 140.4 468.33 T 54 612/G4.1009394 FmPA ( * MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN) 140.4 456.33 T 54 600/G4.1009395 FmPA ( * NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST) 140.4 444.33 T 54 588/G4.1009396 FmPA ( * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,) 140.4 432.33 T 54 576/G4.1009397 FmPA ( * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER) 140.4 420.33 T 54 564/G4.1009398 FmPA ( * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT) 140.4 408.33 T 54 552/G4.1009399 FmPA ( * OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS) 140.4 396.33 T 54 540/G4.1009400 FmPA ( * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.) 140.4 384.33 T 54 528/G4.1009401 FmPA ( *) 140.4 372.33 T 54 516/G4.1009402 FmPA ( * This software is not designed or intended for use in on-line) 140.4 360.33 T 54 504/G4.1009403 FmPA ( * control of aircraft, air traffic, aircraft navigation or aircraft) 140.4 348.33 T 54 492/G4.1009404 FmPA ( * communications; or in the design, construction, operation or) 140.4 336.33 T 54 480/G4.1009405 FmPA (*) 144.96 324.33 T (maintenance) 155.52 324.33 T (of) 226.08 324.33 T (any) 242.64 324.33 T (nuclear) 265.2 324.33 T (facility.) 311.76 324.33 T (Licensee) 370.32 324.33 T (represents) 422.88 324.33 T (and) 487.44 324.33 T (warrants) 510 324.33 T 54 468/G4.1009406 FmPA (*) 145.37 312.33 T (that) 156.34 312.33 T (it) 185.31 312.33 T (will) 202.29 312.33 T (not) 231.26 312.33 T (use) 254.23 312.33 T (or) 277.2 312.33 T (redistribute) 294.17 312.33 T (the) 371.14 312.33 T (Software) 394.11 312.33 T (for) 447.08 312.33 T (such) 470.06 312.33 T (purposes.) 499.03 312.33 T 54 456/G4.1009407 FmPA ( */) 140.4 300.33 T 54 444/G4.1009408 FmPA (package examples.spi.flat;) 140.4 288.33 T 54 432/G4.1009409 FmPA 54 420/G4.1009410 FmPA (import java.util.Hashtable;) 140.4 264.33 T 54 408/G4.1009411 FmPA (import javax.naming.Context;) 140.4 252.33 T 54 396/G4.1009412 FmPA (import javax.naming.spi.InitialContextFactory;) 140.4 240.33 T 54 384/G4.1009413 FmPA 54 372/G4.1009414 FmPA (public class FlatInitCtxFactory implements InitialContextFactory {) 140.4 216.33 T 54 360/G4.1009415 FmPA 54 348/G4.1009416 FmPA ( public Context getInitialContext\050Hashtable env\051 {) 140.4 192.33 T 54 336/G4.1009417 FmPA ( return new FlatCtx\050env\051;) 140.4 180.33 T 54 324/G4.1009418 FmPA ( }) 140.4 168.33 T 54 312/G4.1009419 FmPA (}) 140.4 156.33 T 54 300/G4.1009420 FmPA 54 288/G4.1009421 FmPA 54 277/G4.1002070 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 (Service Provider Example) 453.03 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 [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.48/DEST FmPD2 [/Dest/L4/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 (Legend for Class Diagram) 451.05 749.33 T 54 893/G5.149890 FmPA 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 180/G5.149824 FmPA 72 180/G5.149827 FmPA 72 180/G5.149830 FmPA 72 180/G5.149833 FmPA 54 72 558 720 R 7 X V 3 18 Q 0 X ( Appendix B: Legend for Class Diagram) 151.5 708 T 54 852/G5.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/G5.151480 FmPA (1.) 63 663 T (The interf) 75 663 T (ace: A rounded rectangle) 116.59 663 T 54 807/G5.151481 FmPA (2.) 63 650 T (The class: A rectangle) 75 650 T 54 794/G5.151482 FmPA (3.) 63 637 T (The abstract class: A rectangle with an empty dot) 75 637 T 54 781/G5.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/G5.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/G5.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/G5.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/G5.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.49/DEST FmPD2 [/Dest/F5/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 (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 (50) 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.50/DEST FmPD2 [/Dest/L5/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 (JNDI Change History) 470.23 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 (51) 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: JNDI Change History) 168.25 708 T 54 852/G6.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/G6.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/G6.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/G6.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/G6.152004 FmPA 3 F (API-r) 54 610.33 T (elated Changes) 78.81 610.33 T 54 754/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.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/G6.152100 FmPA [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.51/DEST FmPD2 [/Dest/F6/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 (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 (52) 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.52/DEST FmPD2 [/Dest/L6/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)/Count -2/OUT FmPD [/Page 5/View[/XYZ null 108 626 FmDC exch pop null]/Title(1.1 Document Overview)/OUT FmPD [/Page 6/View[/XYZ null 108 864 FmDC exch pop null]/Title(1.2 Interface Overview)/Count -5/OUT FmPD [/Page 6/View[/XYZ null 108 601 FmDC exch pop null]/Title(1.2.1 NamingManager and DirectoryManager)/OUT FmPD [/Page 6/View[/XYZ null 108 502 FmDC exch pop null]/Title(1.2.2 Initial Contexts)/OUT FmPD [/Page 6/View[/XYZ null 108 411 FmDC exch pop null]/Title(1.2.3 Object Factories)/OUT FmPD [/Page 6/View[/XYZ null 108 306 FmDC exch pop null]/Title(1.2.4 State Factories)/OUT FmPD [/Page 7/View[/XYZ null 108 827 FmDC exch pop null]/Title(1.2.5 Federation Support)/OUT FmPD [/Page 8/View[/XYZ null 108 864 FmDC exch pop null]/Title(2 Building a Context Implementation)/Count -10/OUT FmPD [/Page 8/View[/XYZ null 108 778 FmDC exch pop null]/Title(2.1 Ownership of Parameters)/OUT FmPD [/Page 8/View[/XYZ null 108 584 FmDC exch pop null]/Title(2.2 Reentrancy)/OUT FmPD [/Page 8/View[/XYZ null 108 370 FmDC exch pop null]/Title(2.3 Basic Support\204Implementing the Context Interface\(s\))/OUT FmPD [/Page 9/View[/XYZ null 108 790 FmDC exch pop null]/Title(2.4 Object Support)/Count -2/OUT FmPD [/Page 9/View[/XYZ null 108 315 FmDC exch pop null]/Title(2.4.1 Reading an Object)/OUT FmPD [/Page 11/View[/XYZ null 108 771 FmDC exch pop null]/Title(2.4.2 Storing an Object)/OUT FmPD [/Page 13/View[/XYZ null 108 824 FmDC exch pop null]/Title(2.5 Federation Support)/Count -8/OUT FmPD [/Page 13/View[/XYZ null 108 799 FmDC exch pop null]/Title(2.5.1 Names)/OUT FmPD [/Page 13/View[/XYZ null 108 638 FmDC exch pop null]/Title(2.5.2 Resolving Through a Context)/OUT FmPD [/Page 14/View[/XYZ null 108 864 FmDC exch pop null]/Title(2.5.3 Resolving Through to Subinterfaces of Context)/OUT FmPD [/Page 14/View[/XYZ null 108 331 FmDC exch pop null]/Title(2.5.4 Naming System Boundaries)/OUT FmPD [/Page 15/View[/XYZ null 108 619 FmDC exch pop null]/Title(2.5.5 Continuing an Operation in a Federation)/OUT FmPD [/Page 16/View[/XYZ null 108 511 FmDC exch pop null]/Title(2.5.6 \215Dynamic\216 Location of Next Naming System)/OUT FmPD [/Page 17/View[/XYZ null 108 555 FmDC exch pop null]/Title(2.5.7 More about CannotProceedException)/OUT FmPD [/Page 17/View[/XYZ null 108 372 FmDC exch pop null]/Title(2.5.8 Contextual Information)/OUT FmPD [/Page 18/View[/XYZ null 108 754 FmDC exch pop null]/Title(2.6 Referral Support)/OUT FmPD [/Page 19/View[/XYZ null 108 500 FmDC exch pop null]/Title(2.7 Schema Support)/OUT FmPD [/Page 20/View[/XYZ null 108 590 FmDC exch pop null]/Title(2.8 Event Support)/OUT FmPD [/Page 21/View[/XYZ null 108 864 FmDC exch pop null]/Title(2.9 Context Environment Support)/Count -5/OUT FmPD [/Page 21/View[/XYZ null 108 673 FmDC exch pop null]/Title(2.9.1 Property Naming Convention)/OUT FmPD [/Page 21/View[/XYZ null 108 560 FmDC exch pop null]/Title(2.9.2 Initializing a Context\220s Environment)/OUT FmPD [/Page 21/View[/XYZ null 108 267 FmDC exch pop null]/Title(2.9.3 Inheritance)/OUT FmPD [/Page 22/View[/XYZ null 108 641 FmDC exch pop null]/Title(2.9.4 Updates to the Environment)/OUT FmPD [/Page 22/View[/XYZ null 108 372 FmDC exch pop null]/Title(2.9.5 Provider Resource Files)/OUT FmPD [/Page 23/View[/XYZ null 108 748 FmDC exch pop null]/Title(2.10 Connection Management)/OUT FmPD [/Page 24/View[/XYZ null 108 864 FmDC exch pop null]/Title(3 The Initial Context)/Count -4/OUT FmPD [/Page 24/View[/XYZ null 108 417 FmDC exch pop null]/Title(3.1 The Initial Context Factory)/Count -1/OUT FmPD [/Page 25/View[/XYZ null 108 675 FmDC exch pop null]/Title(3.1.1 Exceptions)/OUT FmPD [/Page 25/View[/XYZ null 108 483 FmDC exch pop null]/Title(3.2 URL Support)/Count -3/OUT FmPD [/Page 25/View[/XYZ null 108 325 FmDC exch pop null]/Title(3.2.1 URL Context)/OUT FmPD [/Page 26/View[/XYZ null 108 635 FmDC exch pop null]/Title(3.2.2 URL Context Factory)/OUT FmPD [/Page 26/View[/XYZ null 108 268 FmDC exch pop null]/Title(3.2.3 Service Provider\220s Responsibility)/OUT FmPD [/Page 27/View[/XYZ null 108 824 FmDC exch pop null]/Title(3.3 Overriding the Default Behavior)/Count -2/OUT FmPD [/Page 27/View[/XYZ null 108 751 FmDC exch pop null]/Title(3.3.1 Removing URL Support)/OUT FmPD [/Page 27/View[/XYZ null 108 530 FmDC exch pop null]/Title(3.3.2 Removing All Policy)/OUT FmPD [/Page 27/View[/XYZ null 108 284 FmDC exch pop null]/Title(3.4 Implementing a Subclass of InitialContext)/Count -3/OUT FmPD [/Page 28/View[/XYZ null 108 864 FmDC exch pop null]/Title(3.4.1 URL Support)/OUT FmPD [/Page 28/View[/XYZ null 108 519 FmDC exch pop null]/Title(3.4.2 New Method Support)/OUT FmPD [/Page 28/View[/XYZ null 108 302 FmDC exch pop null]/Title(3.4.3 Constructors)/OUT FmPD [/Page 30/View[/XYZ null 108 864 FmDC exch pop null]/Title(4 Customizing A Context Implementation)/Count -5/OUT FmPD [/Page 30/View[/XYZ null 108 758 FmDC exch pop null]/Title(4.1 Reading Objects: Object Factories)/Count -6/OUT FmPD [/Page 31/View[/XYZ null 108 813 FmDC exch pop null]/Title(4.1.1 Handling Structured References)/OUT FmPD [/Page 32/View[/XYZ null 108 427 FmDC exch pop null]/Title(4.1.2 Handling URL References)/OUT FmPD [/Page 33/View[/XYZ null 108 864 FmDC exch pop null]/Title(4.1.3 Handling Arbitrary References: The java.naming.factory.object Property)/OUT FmPD [/Page 34/View[/XYZ null 108 765 FmDC exch pop null]/Title(4.1.4 Overriding the Default Behavior)/OUT FmPD [/Page 34/View[/XYZ null 108 317 FmDC exch pop null]/Title(4.1.5 Context Factory)/OUT FmPD [/Page 35/View[/XYZ null 108 864 FmDC exch pop null]/Title(4.1.6 URL Context Factory)/OUT FmPD [/Page 35/View[/XYZ null 108 460 FmDC exch pop null]/Title(4.2 Storing Objects: State Factories)/Count -2/OUT FmPD [/Page 36/View[/XYZ null 108 439 FmDC exch pop null]/Title(4.2.1 Input/Output Options)/OUT FmPD [/Page 36/View[/XYZ null 108 264 FmDC exch pop null]/Title(4.2.2 Locating State Factories: The java.naming.factory.state Property)/OUT FmPD [/Page 37/View[/XYZ null 108 754 FmDC exch pop null]/Title(4.3 Narrowing LDAP v3 Controls: Response Control Factories)/Count -1/OUT FmPD [/Page 38/View[/XYZ null 108 293 FmDC exch pop null]/Title(4.3.1 Locating Response Control Factories: The java.naming.factory.control Property)/OUT FmPD [/Page 39/View[/XYZ null 108 782 FmDC exch pop null]/Title(4.4 Ownership of Parameters)/OUT FmPD [/Page 39/View[/XYZ null 108 692 FmDC exch pop null]/Title(4.5 Reentrancy)/OUT FmPD [/Page 41/View[/XYZ null 255 571 FmDC exch pop null]/Title(Appendix A: Service Provider Example)/Count -1/OUT FmPD [/Page 43/View[/XYZ null 81 864 FmDC exch pop null]/Title(A.1 Simple Flat Context)/Count -3/OUT FmPD [/Page 43/View[/XYZ null 108 839 FmDC exch pop null]/Title(A.1.1 Context Implementation)/OUT FmPD [/Page 50/View[/XYZ null 108 864 FmDC exch pop null]/Title(A.1.2 Name Parser)/OUT FmPD [/Page 51/View[/XYZ null 108 843 FmDC exch pop null]/Title(A.1.3 Initial Context Factory)/OUT FmPD [/Page 53/View[/XYZ null 256 864 FmDC exch pop null]/Title(Appendix B: Legend for Class Diagram)/OUT FmPD [/Page 55/View[/XYZ null 273 864 FmDC exch pop null]/Title(Appendix C: JNDI Change History)/Count -1/OUT FmPD [/Page 55/View[/XYZ null 54 832 FmDC exch pop null]/Title(1.2: JNDI Changes Since 1.1)/Count -2/OUT FmPD [/Page 55/View[/XYZ null 54 761 FmDC exch pop null]/Title(API-related Changes)/OUT FmPD [/Page 55/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: "52" 56 %%Trailer FMENDDOCUMENT %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 56 %%DocumentFonts: Times-Italic %%+ Symbol %%+ Times-Roman %%+ Times-Bold %%+ Courier %%+ Courier-Oblique %%DocumentNeedsFonts: Times-Italic %%+ Symbol %%+ Times-Roman %%+ Times-Bold %%+ Courier %%+ Courier-Oblique %%DocumentSuppliedFonts: %%EOF .