%!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 15 FMDOCUMENT %%IncludeFont: Times-Roman 0 0 /Times-Roman FMFONTDEFINE %%IncludeFont: Times-Italic 1 0 /Times-Italic FMFONTDEFINE %%IncludeFont: Times-Bold 2 0 /Times-Bold FMFONTDEFINE %%IncludeFont: Times-BoldItalic 3 0 /Times-BoldItalic FMFONTDEFINE %%IncludeFont: Courier-Bold 4 0 /Courier-Bold FMFONTDEFINE %%IncludeFont: Courier 5 0 /Courier 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: "1" 1 %%BeginPaperSize: Letter %%EndPaperSize 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K J 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Serv) 108 42.62 T (er Protocol for Ja) 244.77 42.62 T (v) 299.93 42.62 T (aBeans V) 303.73 42.62 T (ersion 1.0) 333.72 42.62 T (December 3, 1998) 365.27 42.62 T (1) 536 42.62 T 1 24 Q (Extensible) 110.69 740 T (Runtime) 216.01 740 T (Containment) 301.34 740 T (and) 430.68 740 T (Server) 472.02 740 T (Pr) 154.09 710 T (otocol for J) 177.01 710 T (avaBeans V) 286.84 710 T (er) 398.15 710 T (sion 1.0) 417.9 710 T 2 12 Q (Laur) 283.28 670 T (ence Cable) 309.07 670 T 0 F (1.0) 108 628 T (Introduction.) 144 628 T (.............................................................................................................) 207 628 T (1) 534 628 T (2.0) 108 608 T (API Speci\336cation) 144 608 T (.....................................................................................................) 231 608 T (2) 534 608 T (3.0) 108 588 T (Ov) 144 588 T (erloading ja) 158.48 588 T (v) 215.23 588 T (a.beans.instantiate\050\051 static method) 220.93 588 T (...............................................) 387 588 T (19) 528 588 T (4.0) 108 568 T (Pro) 144 568 T (viding better support for Beans that are also Applets) 160.49 568 T (......................................) 414 568 T (20) 528 568 T (5.0) 108 548 T (Standard/Suggested Con) 144 548 T (v) 261.85 548 T (entions for BeanConte) 267.67 548 T (xt Services) 375.48 548 T (.................................) 429 548 T (21) 528 548 T (6.0) 108 528 T (Support classes) 144 528 T (.......................................................................................................) 219 528 T (23) 528 528 T FMENDPAGE %%EndPage: "1" 1 %%Page: "1" 2 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (1) 536 42.62 T 511.99 701.6 142.01 701.6 2 L 1.2 H 0 Z N 1 24 Q ( Extensible Runtime Containment and) 142.01 704 T 220 671.6 111.11 671.6 2 L N (Services Pr) 111.11 674 T 329.82 671.6 220 671.6 2 L N (otocol for J) 220 674 T 441.13 671.6 329.82 671.6 2 L N (avaBeans V) 329.82 674 T 460.88 671.6 441.13 671.6 2 L N (er) 441.13 674 T 536.89 671.6 460.88 671.6 2 L N (sion 1.0) 460.88 674 T 2 12 Q (Laur) 281.78 634 T (ence Cable.) 307.57 634 T 332.66 604.8 108 604.8 2 L 0.6 H N 3 F (Send comments to java-beans@java.sun.com.) 108 606 T 2 16 Q (1.0 Intr) 108 565.33 T (oduction.) 163.26 565.33 T 0 12 Q (Currently the Ja) 108 538 T (v) 184.42 538 T (aBeans speci\336cation \050V) 190.12 538 T (ersion 1.0\051 contains neither con) 302.76 538 T (v) 453.25 538 T (entions describ-) 459.07 538 T (ing a hierarch) 108 524 T (y or logical structure of Ja) 173.92 524 T (v) 299.32 524 T (aBeans, nor con) 305.02 524 T (v) 381.52 524 T (entions for those Ja) 387.34 524 T (v) 480.08 524 T (aBeans to) 485.78 524 T (rendezv) 108 510 T (ous) 145.74 510 T (with,) 165.29 510 T (or) 192.51 510 T (obtain) 205.4 510 T (arbitrary) 238.28 510 T (services) 282.48 510 T (or) 324.02 510 T (f) 336.9 510 T (acilities) 340.77 510 T (from,) 380.99 510 T (the) 410.2 510 T (e) 427.75 510 T (x) 432.9 510 T (ecution) 438.72 510 T (en) 476.93 510 T (vironment) 487.78 510 T (within which the Ja) 108 496 T (v) 201.42 496 T (aBean w) 207.12 496 T (as instantiated.) 248.65 496 T (It) 108 470 T (is) 118.15 470 T (desirable) 128.98 470 T (to) 175.12 470 T (both) 187.27 470 T (pro) 211.43 470 T (vide) 227.24 470 T (a) 250.73 470 T (logical,) 258.88 470 T (tra) 297.36 470 T (v) 309.78 470 T (ersable,) 315.6 470 T (hierarch) 355.4 470 T (y) 394.66 470 T (of) 403.48 470 T (Ja) 416.29 470 T (v) 426.05 470 T (aBeans,) 431.75 470 T (and) 472.22 470 T (further) 492.37 470 T (to) 527.84 470 T (pro) 108 456 T (vide a general mechanism whereby an object instantiating an arbitrary Ja) 123.82 456 T (v) 473.5 456 T (aBean can) 479.2 456 T (of) 108 442 T (fer) 117.7 442 T (that) 133.7 442 T (Ja) 154.38 442 T (v) 164.14 442 T (aBean) 169.84 442 T (a) 202.51 442 T (v) 210.52 442 T (ariety) 216.22 442 T (of) 246.23 442 T (services,) 258.91 442 T (or) 303.25 442 T (interpose) 315.93 442 T (itself) 362.6 442 T (between) 389.29 442 T (the) 431.95 442 T (underlying) 449.3 442 T (system) 503.98 442 T (service and the Ja) 108 428 T (v) 192.73 428 T (aBean, in a con) 198.43 428 T (v) 271.93 428 T (entional f) 277.75 428 T (ashion.) 323.29 428 T (In other component models there e) 108 402 T (xists the concept of a relationship between a Compo-) 274.79 402 T (nent and its en) 108 388 T (vironment, or Container) 177.18 388 T (, wherein a ne) 292.36 388 T (wly instantiated Component is pro-) 359.36 388 T (vided with a reference to its Container or Embedding Conte) 108 374 T (xt.) 394.78 374 T (The Container) 108 348 T (, or Embedding Conte) 176.51 348 T (xt not only establishes the hierarch) 282.32 348 T (y or logical struc-) 449.24 348 T (ture, b) 108 334 T (ut its also acts as a service pro) 138.42 334 T (vider that Components may interrog) 283.21 334 T (ate in order to) 457.14 334 T (determine, and subsequently emplo) 108 320 T (y) 277.86 320 T (, the services pro) 283.08 320 T (vided by their Conte) 364.21 320 T (xt.) 462.36 320 T (This proposal de\336nes such a protocol that supports e) 108 294 T (xtensible mechanisms that:) 359.8 294 T 4 F (\245) 108 274 T 0 F (Introduce) 121.75 274 T (an) 170.57 274 T (abstraction) 184.73 274 T (for) 240.22 274 T (the) 257.05 274 T (en) 274.55 274 T (vironment,) 285.4 274 T (or) 340.57 274 T (conte) 353.4 274 T (xt,) 379.21 274 T (in) 394.38 274 T (which) 406.55 274 T (a) 438.72 274 T (Ja) 446.88 274 T (v) 456.64 274 T (aBean) 462.34 274 T (logically) 495.16 274 T (functions during its lifec) 121.75 260 T (ycle, that is a hierarch) 239.23 260 T (y or structure of Ja) 344.8 260 T (v) 434.54 260 T (aBeans.) 440.24 260 T 4 F (\245) 108 240 T 0 F (Enable the dynamic addition of arbitrary services to a Ja) 121.75 240 T (v) 391.78 240 T (aBean\325) 397.48 240 T (s en) 430.8 240 T (vironment.) 449.32 240 T 4 F (\245) 108 220 T 0 F (Pro) 121.75 220 T (vide a single service disco) 138.23 220 T (v) 264.03 220 T (ery mechanism through which Ja) 269.85 220 T (v) 428.25 220 T (aBeans may interro-) 433.95 220 T (g) 121.75 206 T (ate their en) 127.68 206 T (vironment in order both to ascertain the a) 180.52 206 T (v) 378.58 206 T (ailability of particular services) 384.28 206 T (and to subsequently emplo) 121.75 192 T (y those services.) 249.95 192 T 4 F (\245) 108 172 T 0 F (Pro) 121.75 172 T (vide a simple mechanism to propag) 138.23 172 T (ate an En) 308.49 172 T (vironment to a Ja) 352.66 172 T (v) 435.41 172 T (aBean.) 441.11 172 T 4 F (\245) 108 152 T 0 F (Pro) 121.75 152 T (vide better support for Ja) 138.23 152 T (v) 257.97 152 T (aBeans that are also Applets.) 263.67 152 T FMENDPAGE %%EndPage: "1" 2 %%Page: "2" 3 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (2) 536 42.62 T 2 16 Q (2.0 API Speci\336cation) 106 500.33 T 2 14 Q (2.1 interface ja) 106 465.67 T (v) 198.18 465.67 T (a.beans.beancontext.BeanContext) 205.04 465.67 T 0 12 Q (The hierarchal structure and general f) 106 439 T (acilities of a) 286.14 439 T 1 F (BeanConte) 347.8 439 T (xt) 400.89 439 T 0 F ( are pro) 409.55 439 T (vided for as fol-) 446.02 439 T (lo) 106 425 T (ws:) 115.04 425 T 5 F (public interface) 106 405 T (java.beans.beancontext.BeanContext) 221.2 405 T ( extends) 142 389 T (java.beans.beancontext.BeanContextChild,) 221.2 389 T ( java.util.Collection,) 178 373 T ( java.beans.DesignMode,) 214 357 T ( java.beans.Visibility {) 214 341 T (Object instantiateChild\050String beanName\051) 142 309 T ( throws IOException, ClassNotFoundException;) 178 293 T (public InputStream) 142 261 T (getResourceAsStream\050String name,) 178 245 T ( BeanContextChild requestor) 178 229 T (\051;) 178 213 T (public java.net.URL) 142 181 T (getResource\050String name,) 178 165 T ( BeanContextChild requestor) 178 149 T (\051;) 178 133 T (void addBeanContextMembershipListener\050) 142 101 T ( BeanContextMembershipListener bcml) 178 85 T ( \051;) 106 69 T 106 518 538 767 C 0 0 0 1 0 0 0 1 K J 106 518 538 767 R 7 X V [1.996 3.993] 0 I 503 631.5 M 503 677.06 420.39 714 318.5 714 D 216.6 714 134 677.06 134 631.5 D 134 585.94 216.6 549 318.5 549 D 420.39 549 503 585.94 503 631.5 D O V [1.996 3.993] 0 I 503 631.5 M 503 677.06 420.39 714 318.5 714 D 216.6 714 134 677.06 134 631.5 D 134 585.94 216.6 549 318.5 549 D 420.39 549 503 585.94 503 631.5 D O 3 H 0 Z 0 X N J 7 X 90 450 49.5 22.5 317.5 627.5 G 0 X 90 450 49.5 22.5 317.5 627.5 A 2 16 Q (BeanContext) 276.12 559.18 T (J) 284.56 621.68 T (a) 292.32 621.68 T (v) 299.92 621.68 T (aBean) 307.76 621.68 T 7 X 90 450 49.5 22.5 206.5 642.5 G 0 X 90 450 49.5 22.5 206.5 642.5 A (J) 173.56 636.68 T (a) 181.32 636.68 T (v) 188.92 636.68 T (aBean) 196.76 636.68 T 7 X 90 450 49.5 22.5 434.5 627.5 G 0 X 90 450 49.5 22.5 434.5 627.5 A (J) 401.56 621.68 T (a) 409.32 621.68 T (v) 416.92 621.68 T (aBean) 424.76 621.68 T 90 450 1.5 1.5 90 205 690.81 GG 205 691.31 199.88 691.31 205 709.19 210.12 691.31 4 Y 1 H N 205 691.31 199.88 691.31 205 709.19 210.12 691.31 4 Y V 90 450 1.5 1.5 270 205 674.19 GG 205 673.69 210.12 673.69 205 655.81 199.88 673.69 4 Y N 205 673.69 210.12 673.69 205 655.81 199.88 673.69 4 Y V 205 690.81 205 674.19 2 L 7 X V 3 H 0 X N 90 450 1.5 1.5 90 315 671.81 GG 315 672.31 309.88 672.31 315 690.19 320.12 672.31 4 Y 1 H N 315 672.31 309.88 672.31 315 690.19 320.12 672.31 4 Y V 90 450 1.5 1.5 270 315 657.19 GG 315 656.69 320.12 656.69 315 638.81 309.88 656.69 4 Y N 315 656.69 320.12 656.69 315 638.81 309.88 656.69 4 Y V 315 671.81 315 657.19 2 L 7 X V 3 H 0 X N 90 450 1.5 1.5 90 436 697.81 GG 436 698.31 430.88 698.31 436 716.19 441.12 698.31 4 Y 1 H N 436 698.31 430.88 698.31 436 716.19 441.12 698.31 4 Y V 90 450 1.5 1.5 270 436 657.19 GG 436 656.69 441.12 656.69 436 638.81 430.88 656.69 4 Y N 436 656.69 441.12 656.69 436 638.81 430.88 656.69 4 Y V 436 697.81 436 657.19 2 L 7 X V 3 H 0 X N 124 527 511 752 R N (ser) 411 718 T (vice) 431.27 718 T (ser) 181 714 T (vice) 201.27 714 T (ser) 290 698 T (vice) 310.27 698 T (JVM) 135 534 T 90 450 1.5 1.5 156.17 334.46 683.84 GG 334.01 684.05 331.94 679.36 317.66 691.27 336.08 688.73 4 Y 1 H N 334.01 684.05 331.94 679.36 317.66 691.27 336.08 688.73 4 Y V 90 450 1.5 1.5 336.17 417.54 647.16 GG 417.99 646.95 420.06 651.64 434.34 639.73 415.92 642.27 4 Y N 417.99 646.95 420.06 651.64 434.34 639.73 415.92 642.27 4 Y V 334.46 683.84 417.54 647.16 2 L 3 H N [1.99 3.979] 0 I 262 631 M 262 659.17 237.15 682 206.5 682 D 175.85 682 151 659.17 151 631 D 151 602.83 175.85 580 206.5 580 D 237.15 580 262 602.83 262 631 D O N J (BeanContext) 161.12 605.18 T 90 450 1.5 1.5 152.18 218.85 593.58 GG 218.41 593.81 216.02 589.28 202.6 602.15 220.8 598.34 4 Y 1 H N 218.41 593.81 216.02 589.28 202.6 602.15 220.8 598.34 4 Y V 90 450 1.5 1.5 332.18 255.15 574.42 GG 255.59 574.19 257.98 578.72 271.4 565.85 253.2 569.66 4 Y N 255.59 574.19 257.98 578.72 271.4 565.85 253.2 569.66 4 Y V 218.85 593.58 255.15 574.42 2 L 3 H N 90 450 1.5 1.5 121.07 329.42 598.71 GG 329.16 599.14 324.77 596.49 319.94 614.45 333.55 601.78 4 Y 1 H N 329.16 599.14 324.77 596.49 319.94 614.45 333.55 601.78 4 Y V 376 586 M 356.76 586 336.06 587.68 329.42 598.71 D 3 H 2 Z N 90 450 1.5 1.5 58.93 422.58 598.71 GG 422.84 599.14 418.45 601.78 432.06 614.45 427.23 596.49 4 Y 1 H 0 Z N 422.84 599.14 418.45 601.78 432.06 614.45 427.23 596.49 4 Y V 422.58 598.71 M 415.94 587.68 395.24 586 376 586 D 3 H 2 Z N 90 450 1.5 1.5 199.52 223.02 659.75 GG 222.55 659.58 224.27 654.75 205.71 653.61 220.84 664.41 4 Y 1 H 0 Z N 222.55 659.58 224.27 654.75 205.71 653.61 220.84 664.41 4 Y V 90 450 1.5 1.5 19.52 294.98 685.26 GG 295.45 685.42 293.73 690.25 312.29 691.39 297.16 680.59 4 Y N 295.45 685.42 293.73 690.25 312.29 691.39 297.16 680.59 4 Y V 223.02 659.75 294.97 685.26 2 L 3 H N 0 0 612 792 C 0 0 0 1 0 0 0 1 K J FMENDPAGE %%EndPage: "2" 3 %%Page: "3" 4 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (3) 536 42.62 T 5 12 Q (void removeBeanContextMembershipListener{) 144 696 T ( BeanContextMembershipListener bcml) 180 680 T (\051;) 144 664 T (public static final Object globalHierarchyLock;) 144 632 T (}) 108 616 T 0 F (Noti\336cations of changes in the membership of a) 108 590 T 1 F (BeanConte) 341.3 590 T (xt) 394.39 590 T 0 F ( are modeled as follo) 403.06 590 T (ws:) 503.4 590 T 5 F (public interface BeanContextMembershipListener) 108 570 T ( extends java.util.Listener {) 144 554 T (void childrenAdded\050BeanContextMembershipEvent bcme\051;) 144 538 T (void childrenRemoved\050BeanContextMembershipEvent bcme\051;) 144 522 T (}) 108 506 T 0 F (The base class of all) 108 464 T 1 F (BeanConte) 208.31 464 T (xt) 261.4 464 T 0 F ( related Ev) 270.06 464 T (ents is de\336ned by:) 321.86 464 T 5 F (public abstract class BeanContextEvent) 108 444 T ( extends java.util.EventObject {) 144 428 T (public BeanContext getBeanContext\050\051;) 144 412 T (public synchronized void) 144 380 T (setPropagatedFrom\050BeanContext bc\051;) 180 364 T (public synchronized BeanContext getPropagatedFrom\050\051;) 144 332 T (public synchronized boolean isPropagated\050\051) 144 300 T (}) 108 284 T 0 F (The) 108 242 T 1 F (BeanConte) 129.66 242 T (xtMember) 182.75 242 T (shipEvent) 231.28 242 T 0 F ( is de\336ned as:) 278.6 242 T 5 F (public class BeanContextMembershipEvent) 108 222 T ( extends BeanContextEvent {) 144 206 T (public BeanContextMembershipEvent\050BeanContext bc,) 144 174 T ( Object[] deltas\051;) 144 158 T (public BeanContextMembershipEvent\050BeanContext bc,) 144 126 T ( Collection) 144 110 T ( deltas\051;) 460.8 110 T (public int size\050\051;) 144 78 T FMENDPAGE %%EndPage: "3" 4 %%Page: "4" 5 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (4) 536 42.62 T 5 12 Q (public boolean contains\050Object child\051;) 144 696 T (public Object[] toArray\050\051;) 144 664 T (public Iterator iterator\050\051;) 144 632 T (}) 108 616 T 2 F (2.1.1 The BeanContext as a participant in nested structur) 108 584 T (e) 404.11 584 T 0 F (One of the roles of the) 108 558 T 1 F (BeanConte) 218.64 558 T (xt) 271.73 558 T 0 F ( is to introduce the notion of a hierarchical nesting or) 280.39 558 T (structure of) 108 544 T 1 F (BeanConte) 165.98 544 T (xt) 219.07 544 T 0 F ( and Ja) 227.74 544 T (v) 260.82 544 T (aBean instances. In order to model this structure the) 266.52 544 T 1 F (BeanConte) 108 530 T (xt) 161.09 530 T 0 F ( must e) 169.75 530 T (xpose API that de\336nes the relationships in the structure or hierarch) 204.24 530 T (y) 524.8 530 T (.) 530.02 530 T (The) 108 504 T 1 F (BeanConte) 129.66 504 T (xt) 182.75 504 T 0 F ( e) 191.41 504 T (xposes its superstructure through implementation of the) 199.56 504 T 1 F (java.beans.beanconte) 108 490 T (xt.BeanConte) 211.74 490 T (xtChild) 276.49 490 T 0 F ( interf) 311.83 490 T (ace \050as described later\051. This interf) 340.7 490 T (ace) 507.19 490 T (allo) 108 476 T (ws the disco) 125.7 476 T (v) 184.85 476 T (ery and manipulation of a) 190.67 476 T 1 F (BeanConte) 316.98 476 T (xt) 370.07 476 T 0 F (\325) 378.73 476 T (s nesting) 382.07 476 T 1 F (BeanConte) 427.4 476 T (xt) 480.49 476 T 0 F (, and thus) 489.16 476 T (introduces a f) 108 462 T (acility to create a hierarch) 173.2 462 T (y of) 297.76 462 T 1 F (BeanConte) 319.75 462 T (xts) 372.84 462 T 0 F (.) 386.17 462 T (The) 108 436 T 1 F (BeanConte) 129.21 436 T (xt) 182.3 436 T 0 F (e) 193.51 436 T (xposes) 198.66 436 T (its) 233.88 436 T (substructure) 247.77 436 T (through) 308.98 436 T (a) 348.86 436 T (number) 356.74 436 T (of) 395.95 436 T (interf) 408.49 436 T (ace) 434.37 436 T (methods) 452.9 436 T (modeled) 496.12 436 T (by the) 108 422 T 1 F (java.util.Collection) 140.66 422 T 0 F ( interf) 233.34 422 T (ace semantics) 262.21 422 T 1 F (BeanConte) 108 396 T (xts) 161.09 396 T 0 F ( are required to implement all the mandatory) 174.42 396 T 1 F (Collection) 391.72 396 T 0 F ( API\325) 441.72 396 T (s, with the fol-) 467.39 396 T (lo) 108 382 T (wing particular semantics for) 117.04 382 T 1 F (add) 260.34 382 T 0 F (\050\051 and) 278.34 382 T 1 F (r) 309.66 382 T (emo) 313.88 382 T (ve) 333.76 382 T 0 F (\050\051:.) 344.41 382 T (The) 108 356 T 1 F (add\050\051) 129.66 356 T 0 F ( method may be in) 155.65 356 T (v) 244.5 356 T (ok) 250.26 356 T (ed in order to nest a ne) 262.14 356 T (w) 371.15 356 T 1 F (Object) 382.81 356 T 0 F (,) 414.8 356 T 1 F (BeanConte) 420.8 356 T (xtChild) 473.89 356 T 0 F (, or) 509.23 356 T 1 F (BeanConte) 108 342 T (xt) 161.09 342 T 0 F ( within the tar) 169.75 342 T (get) 236.53 342 T 1 F (BeanConte) 254.2 342 T (xt) 307.28 342 T 0 F (. A conformant) 315.95 342 T 1 F (add\050\051) 391.93 342 T 0 F ( implementation is) 417.92 342 T (required to adhere to the follo) 108 328 T (wing semantics:) 250.67 328 T 4 F (\245) 108 308 T 0 F (Synchronize on the) 121.75 308 T 1 F (BeanConte) 217.4 308 T (xt.globalHier) 270.48 308 T (ar) 334.64 308 T (c) 344.86 308 T (hyLoc) 350.01 308 T (k.) 379.1 308 T 4 F (\245) 108 288 T 0 F (Each) 121.75 288 T (child) 148.57 288 T (object) 175.41 288 T (shall) 207.57 288 T (appear) 233.08 288 T (only) 267.89 288 T (once) 292.07 288 T (in) 317.56 288 T (the) 329.73 288 T (set) 347.23 288 T (of) 363.4 288 T (children) 376.23 288 T (for) 418.4 288 T (a) 435.23 288 T (gi) 443.39 288 T (v) 452.43 288 T (en) 458.25 288 T 1 F (BeanConte) 472.41 288 T (xt) 525.5 288 T 0 F (.) 534.16 288 T (If the instance is already a member of the) 121.75 274 T 1 F (BeanConte) 323.36 274 T (xt) 376.45 274 T 0 F ( then the method shall return) 385.11 274 T 5 F (False) 121.75 260 T 0 F (.) 157.74 260 T 4 F (\245) 108 240 T 0 F (Each v) 121.75 240 T (alid child shall be added to the set of children of a gi) 154.43 240 T (v) 406.1 240 T (en source) 411.92 240 T 1 F (BeanConte) 460.57 240 T (xt,) 513.65 240 T 0 F (and thus shall appear in the set of children, obtained through either the) 121.75 226 T 1 F ( toArr) 460.02 226 T (ay\050\051,) 488.85 226 T 0 F (or) 514.17 226 T 1 F (iter) 121.75 212 T (ator\050\051) 138.23 212 T 0 F (methods,) 168.78 212 T (until) 215 212 T (such) 239.55 212 T (time) 264.1 212 T (as) 287.98 212 T (that) 300.53 212 T (child) 321.08 212 T (is) 347.63 212 T (deleted) 358.18 212 T (from) 395.39 212 T (the) 421.27 212 T (nesting) 438.48 212 T 1 F (BeanConte) 475.7 212 T (xt) 528.79 212 T 0 F (via an in) 121.75 198 T (v) 162.59 198 T (ocation of) 168.35 198 T 1 F (r) 219.68 198 T (emo) 223.9 198 T (ve\050\051) 243.77 198 T 0 F (,) 262.42 198 T 1 F (r) 268.42 198 T (emo) 272.64 198 T (veAll\050\051) 292.52 198 T 0 F (,) 325.17 198 T 1 F (r) 331.17 198 T (etainAll\050\051) 335.39 198 T 0 F (, or) 381.39 198 T 1 F (clear) 400.39 198 T 0 F (\050\051) 425.05 198 T 4 F (\245) 108 178 T 0 F (As) 121.75 178 T (the) 138.02 178 T (child) 155.62 178 T (is) 182.56 178 T (added) 193.5 178 T (to) 225.1 178 T (the) 237.38 178 T (set) 254.98 178 T (of) 271.25 178 T (nested) 284.19 178 T (children,) 317.79 178 T (and) 363.05 178 T (where) 383.32 178 T (that) 415.57 178 T (child) 436.51 178 T (implements) 463.45 178 T (the) 522.4 178 T 1 F (java.beans.beanconte) 121.75 164 T (xt.BeanConte) 225.49 164 T (xtChild) 290.24 164 T 0 F ( interf) 325.58 164 T (ace \050or) 354.45 164 T 1 F (BeanConte) 390.42 164 T (xtPr) 443.51 164 T (oxy) 463.64 164 T (,) 479.63 164 T 0 F (see later) 485.63 164 T (for) 121.75 150 T (details) 138.43 150 T 1 F (\051) 169.76 150 T 0 F (,) 173.76 150 T (the) 179.45 150 T 1 F (BeanConte) 196.8 150 T (xt) 249.89 150 T 0 F (shall) 261.24 150 T (in) 286.6 150 T (v) 295.46 150 T (ok) 301.22 150 T (e) 313.1 150 T (the) 321.12 150 T 1 F (setBeanConte) 338.47 150 T (xt) 404.89 150 T 0 F (\050\051) 413.55 150 T (method) 424.24 150 T (upon) 462.93 150 T (that) 489.62 150 T (child,) 510.31 150 T (with a reference to itself. Upon in) 121.75 136 T (v) 282.89 136 T (ocation, a child may) 288.65 136 T (, if it is for some reason unable) 385.19 136 T (or) 121.75 122 T (unprepared) 134.33 122 T (to) 190.89 122 T (function) 202.82 122 T (in) 245.4 122 T (that) 257.33 122 T 1 F (BeanConte) 277.92 122 T (xt) 331 122 T 0 F (,) 339.67 122 T (thro) 345.26 122 T (w) 364.29 122 T (a) 375.54 122 T 1 F (Pr) 383.46 122 T (opertyV) 394.92 122 T (etoException) 431.58 122 T 0 F (to) 496.82 122 T (notify) 508.74 122 T (the nesting) 121.75 108 T 1 F (BeanConte) 177.08 108 T (xt) 230.16 108 T 0 F (. If the child thro) 238.83 108 T (ws such an e) 319.52 108 T (xception the) 380.32 108 T 1 F (BeanConte) 442.31 108 T (xt) 495.4 108 T 0 F ( shall) 504.07 108 T FMENDPAGE %%EndPage: "4" 5 %%Page: "5" 6 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (5) 536 42.62 T 0 12 Q (re) 121.75 712 T (v) 130.77 712 T (ok) 136.53 712 T (e the addition of the child \050and an) 148.41 712 T (y other partial changes made to the state of the) 309.87 712 T (BeanConte) 121.75 698 T (xt) 174.89 698 T (as) 186.95 698 T (a) 199.66 698 T (side) 207.7 698 T (ef) 229.75 698 T (fect) 238.78 698 T (of) 259.48 698 T (this) 272.19 698 T (addition) 292.25 698 T (operation\051) 334.3 698 T (to) 386.34 698 T (the) 398.39 698 T (set) 415.77 698 T (of) 431.82 698 T (nested) 444.54 698 T (children) 477.91 698 T (and) 519.96 698 T (thro) 121.75 684 T (w an) 140.78 684 T 1 F (Ille) 166.77 684 T (galStateException) 182.29 684 T 0 F (.) 269.61 684 T 4 F (\245) 108 664 T 0 F (Ja) 121.75 664 T (v) 131.5 664 T (aBeans that implement the) 137.2 664 T 1 F (java.beans.V) 267.86 664 T (isibility) 328.96 664 T 0 F ( interf) 364.97 664 T (ace shall be noti\336ed via the) 393.85 664 T (appropriate method, either) 121.75 650 T 1 F (dontUseGui\050\051) 251.72 650 T 0 F ( or) 317.7 650 T 1 F (okT) 333.7 650 T (oUseGui\050\051,) 350.6 650 T 0 F ( of their current ability to) 404.25 650 T (render GUI as de\336ned the polic) 121.75 636 T (y of the) 272.52 636 T 1 F (BeanConte) 312.18 636 T (xt) 365.27 636 T 0 F (.) 373.94 636 T 4 F (\245) 108 616 T 0 F (If) 121.75 616 T (the) 132.61 616 T (ne) 150.15 616 T (wly) 161.17 616 T (added) 182.04 616 T (child) 213.57 616 T (implements) 240.44 616 T 1 F (BeanConte) 299.32 616 T (xtChild) 352.41 616 T 0 F (,) 387.75 616 T (the) 393.62 616 T 1 F (BeanConte) 411.16 616 T (xt) 464.24 616 T 0 F (shall) 475.78 616 T (re) 501.32 616 T (gister) 510.46 616 T (itself with the child on both its) 121.75 602 T 1 F (V) 271.42 602 T (etoableChang) 277.42 602 T (eListener) 344.63 602 T 0 F ( and) 389.3 602 T 1 F (Pr) 412.62 602 T (opertyChang) 424.08 602 T (eListener) 486.63 602 T 0 F (interf) 121.75 588 T (aces to monitor) 147.62 588 T (, at least, that) 221.13 588 T 1 F (BeanConte) 287.79 588 T (xtChild) 340.88 588 T 0 F (\325) 376.22 588 T (s \322beanConte) 379.55 588 T (xt\323 property) 443.69 588 T (.) 501.23 588 T (By doing so the) 121.75 570 T 1 F (BeanConte) 200.42 570 T (xt) 253.51 570 T 0 F ( can monitor its child and can detect when such children) 262.17 570 T (are remo) 121.75 556 T (v) 163.88 556 T (ed by a 3rd party \050usually another) 169.7 556 T 1 F (BeanConte) 334.66 556 T (xt) 387.75 556 T 0 F (\051 in) 396.41 556 T (v) 412.27 556 T (oking) 418.02 556 T 1 F (setBeanConte) 448.36 556 T (xt) 514.78 556 T 0 F (\050\051.) 523.45 556 T (A) 121.75 542 T 1 F (BeanConte) 133.41 542 T (xt) 186.5 542 T 0 F ( may v) 195.16 542 T (eto such a change by a 3rd party if it determines that the child is) 227.65 542 T (not in a state to depart membership at that time.) 121.75 528 T 4 F (\245) 108 508 T 0 F (If) 121.75 508 T (the) 132.24 508 T (Ja) 149.41 508 T (v) 159.17 508 T (aBean\050s\051) 164.87 508 T (added) 210.02 508 T (implement) 241.18 508 T 1 F (Listener) 295.03 508 T 0 F (interf) 336.87 508 T (aces) 362.74 508 T (that) 385.9 508 T (the) 406.4 508 T 1 F (BeanConte) 423.57 508 T (xt) 476.66 508 T 0 F (is) 487.83 508 T (a) 498.34 508 T (source) 506.17 508 T (for) 121.75 494 T (, then the) 135.26 494 T 1 F (BeanConte) 182.59 494 T (xt) 235.67 494 T 0 F ( may re) 244.34 494 T (gister the ne) 280.14 494 T (wly added objects via the appropriate) 338.5 494 T 1 F (Lis-) 521.13 494 T (tener) 121.75 480 T 0 F ( re) 146.4 480 T (gistration methods as a permissible side ef) 158.55 480 T (fect of nesting.) 361.57 480 T 4 F (\245) 108 460 T 0 F (If) 121.75 460 T (the) 132.56 460 T (Ja) 150.04 460 T (v) 159.8 460 T (aBean\050s\051) 165.5 460 T (added) 210.97 460 T (are) 242.45 460 T (Ev) 259.92 460 T (ent) 273.08 460 T (Sources) 290.56 460 T (for) 331.38 460 T (Ev) 348.19 460 T (ent) 361.34 460 T (that) 378.83 460 T (a) 399.65 460 T (particular) 407.8 460 T 1 F (BeanConte) 456.61 460 T (xt) 509.7 460 T 0 F (has) 521.18 460 T (interest in the) 121.75 446 T 1 F (BeanConte) 190.07 446 T (xt) 243.16 446 T 0 F ( may) 251.82 446 T (, as a side ef) 274.71 446 T (fect of adding the child, re) 333.39 446 T (gister) 459.85 446 T 1 F (Listener) 489.51 446 T (s) 528.72 446 T 0 F (on) 121.75 432 T (that) 136.57 432 T (child.) 157.4 432 T (The) 187.22 432 T 1 F (BeanConte) 208.71 432 T (xt) 261.8 432 T 0 F (should) 273.29 432 T (a) 308.11 432 T (v) 313.2 432 T (oid) 318.96 432 T (using) 337.12 432 T 1 F (Serializable) 365.95 432 T (Listener) 426.11 432 T (s) 465.33 432 T 0 F (thus) 472.83 432 T (a) 495.65 432 T (v) 500.74 432 T (oiding) 506.5 432 T (accidental serialization of unw) 121.75 418 T (anted structure when a child serializes itself.) 268.59 418 T 4 F (\245) 108 398 T 0 F (Once the) 121.75 398 T 1 F (tar) 167.73 398 T (g) 181.29 398 T (etChild) 187.17 398 T 0 F ( has been successfully processed, the) 222.51 398 T 1 F (BeanConte) 402.8 398 T (xt) 455.89 398 T 0 F ( shall \336re a) 464.55 398 T 1 F (java.beans.beanconte) 121.75 384 T (xt.BeanConte) 225.49 384 T (xtMember) 290.24 384 T (shipEvent) 338.77 384 T 0 F (, containing a reference to the) 386.09 384 T (ne) 121.75 370 T (wly added) 132.77 370 T 1 F (tar) 185.43 370 T (g) 198.99 370 T (etChild) 204.87 370 T 0 F (, to the) 240.21 370 T 1 F (c) 276.21 370 T (hildr) 281.36 370 T (enAdded) 304.25 370 T 0 F (\050\051 method of all the) 346.24 370 T 1 F (BeanConte) 441.89 370 T (xtMeme-) 494.98 370 T (br) 121.75 356 T (shipListener) 132.29 356 T (s) 191.51 356 T 0 F ( currently re) 196.18 356 T (gistered.) 254.65 356 T 4 F (\245) 108 336 T 0 F (The method shall) 121.75 336 T (return) 208.07 336 T 5 F (true) 239.73 336 T 0 F ( if successful.) 268.53 336 T (The) 108 310 T 1 F (r) 129.66 310 T (emo) 133.88 310 T (ve\050\051) 153.76 310 T 0 F ( method may be in) 172.4 310 T (v) 261.25 310 T (ok) 267.01 310 T (ed in order to remo) 278.89 310 T (v) 370.69 310 T (e an e) 376.51 310 T (xisting child Ja) 404.32 310 T (v) 476.75 310 T (aBean or) 482.45 310 T 1 F (BeanConte) 108 296 T (xt) 161.09 296 T 0 F (from) 172.52 296 T (within) 198.61 296 T (the) 232.05 296 T (tar) 249.48 296 T (get) 261.92 296 T 1 F (BeanConte) 279.35 296 T (xt) 332.44 296 T 0 F (.) 341.11 296 T (A) 346.87 296 T (conformant) 358.3 296 T 1 F (r) 416.39 296 T (emo) 420.61 296 T (ve\050\051) 440.48 296 T 0 F (implementation) 461.9 296 T (is required to adhere to the follo) 108 282 T (wing semantics:) 261.67 282 T 4 F (\245) 108 262 T 0 F (Synchronize with the) 121.75 262 T 1 F ( BeanConte) 223.73 262 T (xt.globalHier) 279.82 262 T (ar) 343.97 262 T (c) 354.2 262 T (hyLoc) 359.35 262 T (k.) 388.43 262 T 4 F (\245) 108 242 T 0 F (If) 121.75 242 T (a) 132.73 242 T (particular) 141.05 242 T (child) 190.03 242 T (is) 217.03 242 T (not) 228.03 242 T (present) 246.36 242 T (in) 284.01 242 T (the) 296.34 242 T (set) 314 242 T (of) 330.32 242 T (children) 343.32 242 T (for) 385.63 242 T (the) 402.62 242 T (source) 420.28 242 T 1 F (BeanConte) 454.59 242 T (xt,) 507.68 242 T 0 F (the) 522.34 242 T (method shall return) 121.75 228 T 5 F (False) 218.07 228 T 0 F (.) 254.07 228 T 4 F (\245) 108 208 T 0 F (Remo) 121.75 208 T (v) 150.23 208 T (e) 156.05 208 T (the) 164.29 208 T (v) 181.87 208 T (alid) 187.57 208 T 1 F (tar) 208.48 208 T (g) 222.04 208 T (etChild) 227.92 208 T 0 F (from) 266.17 208 T (the) 292.41 208 T (set) 309.99 208 T (of) 326.23 208 T (children) 339.14 208 T (for) 381.38 208 T (the) 398.28 208 T (source) 415.86 208 T 1 F (BeanConte) 450.09 208 T (xt,) 503.18 208 T 0 F (also) 517.76 208 T (remo) 121.75 194 T (ving that child from an) 146.23 194 T (y other) 256.04 194 T 1 F (Listener) 292.7 194 T 0 F ( interf) 332.03 194 T (aces that it w) 360.9 194 T (as implicitly re) 423.77 194 T (gistered) 495.59 194 T (on, for that) 121.75 180 T 1 F (BeanConte) 177.74 180 T (xt) 230.82 180 T 0 F (as a side-ef) 242.49 180 T (fect of nesting.) 296.17 180 T (Subsequently) 121.75 162 T (, if the) 185.63 162 T 1 F (tar) 219.63 162 T (g) 233.19 162 T (etChild) 239.07 162 T 0 F ( implements the) 274.41 162 T 1 F ( java.beans.beanconte) 351.08 162 T (xt.BeanConte) 457.82 162 T (xt-) 522.57 162 T (Child) 121.75 148 T 0 F (interf) 151.42 148 T (ace \050or) 177.29 148 T 1 F (BeanConte) 213.27 148 T (xtPr) 266.36 148 T (oxy) 286.48 148 T (,) 302.48 148 T 0 F (see later for deatils\051, the) 308.48 148 T 1 F (BeanConte) 427.11 148 T (xt) 480.2 148 T 0 F (shall) 491.86 148 T (in) 121.75 130.8 T (v) 130.6 130.8 T (ok) 136.36 130.8 T (e the) 148.24 130.8 T 1 F (setBeanConte) 174.23 130.8 T (xt) 240.65 130.8 T 0 F (\050\051 with a) 249.32 130.8 T 5 F (null) 292.97 130.8 T 0 9.6 Q (1) 321.77 135.6 T 1 12 Q (BeanConte) 329.57 130.8 T (xt) 382.66 130.8 T 0 F ( v) 391.33 130.8 T (alue, in order to notify that) 400.02 130.8 T (child that it is no longer nested within the) 121.75 116.8 T 1 F (BeanConte) 324.08 116.8 T (xt) 377.17 116.8 T 0 F (.) 385.83 116.8 T (If a particular) 121.75 98.8 T 1 F (BeanConte) 190.05 98.8 T (xtChild) 243.14 98.8 T 0 F ( is in a state where it is not able to be un-nested from) 278.48 98.8 T (its) 121.75 84.8 T (nesting) 135.99 84.8 T 1 F (BeanConte) 173.55 84.8 T (xt) 226.64 84.8 T 0 F (it) 238.21 84.8 T (may) 247.78 84.8 T (thro) 271.35 84.8 T (w) 290.38 84.8 T (a) 301.94 84.8 T 1 F (Pr) 310.17 84.8 T (opertyV) 321.63 84.8 T (etoException) 358.29 84.8 T 0 F (,) 420.94 84.8 T (upon) 426.84 84.8 T (receipt) 453.74 84.8 T (of) 489.3 84.8 T (this) 502.19 84.8 T (the) 522.43 84.8 T 1 F (BeanConte) 121.75 70.8 T (xt) 174.83 70.8 T 0 F (shall) 186.38 70.8 T (re) 211.93 70.8 T (v) 220.95 70.8 T (ok) 226.71 70.8 T (e) 238.59 70.8 T (the) 246.8 70.8 T (remo) 264.35 70.8 T (v) 288.83 70.8 T (e) 294.65 70.8 T (operation) 302.86 70.8 T (for) 351.06 70.8 T (this) 367.94 70.8 T (instance) 388.16 70.8 T (and) 430.36 70.8 T (thro) 450.57 70.8 T (w) 469.61 70.8 T 1 F (Ille) 481.15 70.8 T (galState-) 496.67 70.8 T FMENDPAGE %%EndPage: "5" 6 %%Page: "6" 7 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (6) 536 42.62 T 1 12 Q (Exception) 121.75 712 T 0 F (. T) 169.73 712 T (o a) 182.1 712 T (v) 196.19 712 T (oid in\336nite recursion, children are not permitted to repeatedly v) 201.95 712 T (eto) 506.39 712 T (subsequent remo) 121.75 698 T (v) 202.55 698 T (e noti\336cations. In practice, a child should attempt to resolv) 208.37 698 T (e the con-) 489.83 698 T (dition \050if temporary\051 that precludes it\325) 121.75 684 T (s remo) 303.39 684 T (v) 335.54 684 T (al from it\325) 341.24 684 T (s current nesting) 389.24 684 T 1 F (BeanConte) 471.56 684 T (xt.) 524.64 684 T 4 F (\245) 108 664 T 0 F (If the) 121.75 664 T 1 F ( tar) 147.4 664 T (g) 163.96 664 T (etChild) 169.84 664 T 0 F (implements) 208.18 664 T 1 F ( java.beans.beanconte) 264.18 664 T (xt.BeanConte) 370.92 664 T (xtChild) 435.68 664 T 0 F ( then the) 471.02 664 T 1 F (BeanConte) 121.75 650 T (xt) 174.83 650 T 0 F (shall) 186.24 650 T (de-re) 211.66 650 T (gister) 236.12 650 T (itself) 265.54 650 T (from) 292.28 650 T (that) 318.36 650 T (child\325) 339.1 650 T (s) 366.44 650 T 1 F (Pr) 373.85 650 T (opertyChang) 385.31 650 T (eListener) 447.86 650 T 0 F (and) 495.27 650 T 1 F (V) 515.34 650 T (eto-) 521.34 650 T (ableChang) 121.75 636 T (eListener) 174.29 636 T 0 F ( sources.) 218.96 636 T 4 F (\245) 108 616 T 0 F (If the) 121.75 616 T 1 F (BeanConte) 150.4 616 T (xt) 203.49 616 T 0 F ( had pre) 212.15 616 T (viously re) 250.51 616 T (gistered the object\050s\051 remo) 297.99 616 T (v) 426.11 616 T (ed as) 431.93 616 T 1 F (Listener) 459.26 616 T (s) 498.47 616 T 0 F ( on) 503.14 616 T (e) 121.75 602 T (v) 126.77 602 T (ents sources implemented by the) 132.59 602 T 1 F (BeanConte) 292.24 602 T (xt) 345.33 602 T 0 F ( as a side ef) 353.99 602 T (fect of nesting those) 409.67 602 T (objects, then the) 121.75 588 T 1 F (BeanConte) 203.07 588 T (xt) 256.16 588 T 0 F ( shall de-re) 264.82 588 T (gister the ne) 317.96 588 T (wly remo) 376.31 588 T (v) 421.79 588 T (ed object from the) 427.61 588 T (applicable source\050s\051 via the appropriate) 121.75 574 T 1 F (Listener) 314.02 574 T 0 F ( de-re) 353.36 574 T (gistration method\050s\051) 380.83 574 T 4 F (\245) 108 554 T 0 F (If the) 121.75 554 T 1 F (BeanConte) 150.4 554 T (xt) 203.49 554 T 0 F ( had pre) 212.15 554 T (viously re) 250.51 554 T (gistered) 297.99 554 T 1 F (Listener\050s\051) 338.98 554 T 0 F ( on the object\050s\051 remo) 390.98 554 T (v) 496.11 554 T (ed then) 501.93 554 T (the) 121.75 540 T 1 F (BeanConte) 139.41 540 T (xt) 192.5 540 T 0 F ( shall remo) 201.16 540 T (v) 254.31 540 T (e those Listener\050s\051 from those object\050s\051.) 260.13 540 T 4 F (\245) 108 520 T 0 F (Once) 121.75 520 T (the) 149.96 520 T 1 F (tar) 167.51 520 T (g) 181.07 520 T (etChild) 186.95 520 T 0 F (has) 225.18 520 T (been) 244.07 520 T (remo) 269.62 520 T (v) 294.1 520 T (ed) 299.92 520 T (from) 314.14 520 T (the) 340.36 520 T (set) 357.91 520 T (of) 374.14 520 T (children,) 387.02 520 T (the) 432.24 520 T 1 F (BeanConte) 449.8 520 T (xt) 502.88 520 T 0 F (shall) 514.44 520 T (\336re) 121.75 506 T (a) 140.54 506 T 1 F (java.beans.beanconte) 148.68 506 T (xt.BeanConte) 252.42 506 T (xtMember) 317.17 506 T (shipEvent,) 365.7 506 T 0 F (containing) 418.83 506 T (a) 472.3 506 T (reference) 480.43 506 T (to) 527.86 506 T (the) 121.75 492 T 1 F (tar) 139.41 492 T (g) 152.97 492 T (etChild) 158.85 492 T 0 F (just remo) 197.19 492 T (v) 242.01 492 T (ed, to the) 247.83 492 T 1 F (c) 295.16 492 T (hildr) 300.3 492 T (enRemo) 323.2 492 T (ved) 361.73 492 T 0 F (\050\051 method of all the) 378.39 492 T 1 F (BeanConte) 474.04 492 T (xt-) 527.13 492 T (Member) 121.75 478 T (shipListener) 161.61 478 T (s) 220.83 478 T 0 F ( currently re) 225.5 478 T (gistered.) 283.96 478 T 4 F (\245) 108 458 T 0 F (Finally the method shall return the v) 121.75 458 T (alue) 296.11 458 T 5 F (true) 319.1 458 T 0 F ( if successful.) 347.9 458 T (Note that the lifetime of an) 108 432 T (y child of a nesting) 237.47 432 T 1 F (BeanConte) 332.46 432 T (xt) 385.55 432 T 0 F (, is at least for the duration of) 394.21 432 T (that child\325) 108 418 T (s containment within a gi) 156.34 418 T (v) 277.37 418 T (en) 283.19 418 T 1 F (BeanConte) 297.52 418 T (xt) 350.6 418 T 0 F (. F) 359.27 418 T (or simple Ja) 371.76 418 T (v) 429.52 418 T (aBeans that are not) 435.22 418 T (a) 108 404 T (w) 113.15 404 T (are of their containment within a) 121.69 404 T 1 F (BeanConte) 281.66 404 T (xt) 334.75 404 T 0 F (, this usually implies that the Ja) 343.42 404 T (v) 494.18 404 T (aBean) 499.88 404 T (shall e) 108 390 T (xist for at least the lifetime of the nesting) 138.82 390 T 1 F (BeanConte) 339.13 390 T (xt) 392.22 390 T 0 F (.) 400.88 390 T 1 F (BeanConte) 108 364 T (xt) 161.09 364 T 0 F (\325) 169.75 364 T (s are not required to implement either) 173.09 364 T 1 F (addAll\050\051) 356.72 364 T 0 F (,) 396.72 364 T 1 F (r) 402.72 364 T (emo) 406.94 364 T (veAll) 426.82 364 T 0 F (\050\051,) 451.48 364 T 1 F (r) 465.47 364 T (etainAll) 469.69 364 T 0 F (\050\051 or) 507.7 364 T 1 F (clear\050\051) 108 350 T 0 F (optional) 143.23 350 T (methods) 185.14 350 T (de\336ned) 228.39 350 T (by) 266.29 350 T 1 F (java.util.Collection) 280.87 350 T (API) 376.12 350 T 0 F (,) 394.78 350 T (ho) 400.36 350 T (we) 412.06 350 T (v) 425.75 350 T (er) 431.57 350 T (if) 443.47 350 T (the) 453.38 350 T (y) 467.87 350 T (do) 476.44 350 T (the) 491.02 350 T (y) 505.51 350 T (must) 514.08 350 T (implement the semantics de\336ned, per object, for both) 108 336 T 1 F (add) 366.64 336 T 0 F (\050\051 and) 384.64 336 T 1 F (r) 415.96 336 T (emo) 420.18 336 T (ve) 440.05 336 T 0 F (\050\051 abo) 450.71 336 T (v) 478.85 336 T (e. In the) 484.67 336 T (f) 108 322 T (ailure cases these methods shall re) 111.88 322 T (v) 276.54 322 T (ok) 282.3 322 T (e an) 294.18 322 T (y partially applied changes to return the) 313.66 322 T 1 F (Bean-) 507.29 322 T (Conte) 108 308 T (xt) 136.43 308 T 0 F ( to the state it w) 145.09 308 T (as in prior to the f) 221.3 308 T (ailing composite operation being in) 306.84 308 T (v) 476.35 308 T (ok) 482.11 308 T (ed, no) 493.99 308 T 1 F (BeanConte) 108 294 T (xtEvents) 161.09 294 T 0 F ( shall be \336red in the f) 201.74 294 T (ailure case as is consistent with the de\336nition of) 303.61 294 T 1 F (add\050\051) 108 280 T 0 F ( and) 133.99 280 T 1 F (r) 157.32 280 T (emo) 161.54 280 T (ve\050\051) 181.42 280 T 0 F ( abo) 200.06 280 T (v) 220.21 280 T (e.) 226.03 280 T 1 F (BeanConte) 108 254 T (xtMember) 161.09 254 T (shipListener) 209.62 254 T (s) 268.84 254 T 0 F ( may be added and remo) 273.5 254 T (v) 390.96 254 T (ed via in) 396.78 254 T (v) 437.63 254 T (ocations of) 443.39 254 T 1 F (addBeanConte) 108 240 T (xtMember) 179.09 240 T (shipListener) 227.62 240 T 0 F (\050\051 and) 286.96 240 T 1 F (r) 318.28 240 T (emo) 322.5 240 T (veBeanConte) 342.37 240 T (xtMember) 406.12 240 T (shipListener) 454.64 240 T 0 F (\050\051.) 513.98 240 T (The) 108 214 T 1 F (toArr) 129.66 214 T (ay\050\051,) 155.48 214 T 0 F (method shall return a cop) 180.8 214 T (y of the current set of Ja) 302.66 214 T (v) 418.39 214 T (aBean or) 424.09 214 T 1 F (BeanConte) 470.08 214 T (xt) 523.16 214 T 0 F (instances nested within the tar) 108 200 T (get) 252.43 200 T 1 F (BeanConte) 270.1 200 T (xt) 323.18 200 T 0 F (, and the) 331.85 200 T 1 F (iter) 375.84 200 T (ator) 392.33 200 T 0 F (\050\051 method shall supply a) 412.33 200 T 1 F (java.util.Iter) 108 186 T (ator) 167.82 186 T 0 F (object o) 190.82 186 T (v) 228.97 186 T (er the same set of children.) 234.79 186 T (The) 108 160 T 1 F (contains\050\051) 129.66 160 T 0 F ( method shall return) 178.32 160 T 5 F (true) 277.64 160 T 0 F ( if the object speci\336ed is currently a child of the) 306.44 160 T 1 F (BeanConte) 108 146 T (xt) 161.09 146 T 0 F (.) 169.75 146 T 108 114 540 134 C 0 0 0 1 0 0 0 1 K 108 122 240 122 2 L 0.25 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (1.) 108 107.33 T (Note, if the) 120 107.33 T 1 F (r) 167.77 107.33 T (emo) 171.29 107.33 T (ve) 187.85 107.33 T 0 F (\050\051 w) 196.73 107.33 T (as in) 213.01 107.33 T (v) 231.22 107.33 T (ok) 236.02 107.33 T (ed as a result of the) 245.92 107.33 T 1 F (BeanConte) 325.9 107.33 T (xt) 370.14 107.33 T 0 F ( recei) 377.36 107.33 T (ving an une) 399.04 107.33 T (xpected) 445.55 107.33 T 1 F (Pr) 479.15 107.33 T (opertyChan-) 488.7 107.33 T (g) 120 95.33 T (eEvent) 124.9 95.33 T 0 F (noti\336cation) 154.42 95.33 T (as) 202.28 95.33 T (a) 212.92 95.33 T (result) 219.66 95.33 T (of) 244.19 95.33 T (a) 254.83 95.33 T (3rd) 261.57 95.33 T (party) 277.21 95.33 T (in) 300.06 95.33 T (v) 307.44 95.33 T (oking) 312.24 95.33 T 1 F (setBeanConte) 337.33 95.33 T (xt) 392.68 95.33 T 0 F (\050\051) 399.9 95.33 T (then) 408.87 95.33 T (the) 428.39 95.33 T (remo) 442.92 95.33 T (v) 463.32 95.33 T (e) 468.17 95.33 T (implementation) 474.91 95.33 T (shall not in) 120 83.33 T (v) 164.05 83.33 T (ok) 168.85 83.33 T (e) 178.75 83.33 T 1 F (setBeanConte) 185.69 83.33 T (xt) 241.04 83.33 T 0 F (\050) 248.26 83.33 T 5 F (null) 251.59 83.33 T 0 F (\051 on that child as part of the) 275.59 83.33 T 1 F (r) 388.35 83.33 T (emo) 391.87 83.33 T (ve) 408.43 83.33 T 0 F (\050\051 semantics, since to do so) 417.31 83.33 T (w) 120 71.33 T (ould o) 127.12 71.33 T (v) 152.25 71.33 T (erwrite the v) 157.1 71.33 T (alue pre) 207.39 71.33 T (viously set by the 3rd party) 239.07 71.33 T (.) 347.58 71.33 T FMENDPAGE %%EndPage: "6" 7 %%Page: "7" 8 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (7) 536 42.62 T 0 12 Q (The) 108 712 T 1 F (size\050\051) 129.66 712 T 0 F ( method returns the current number of children nested.) 155.65 712 T (The) 108 686 T 1 F (isEmpty) 129.66 686 T 0 F (\050\051 method returns true if) 168.32 686 T (f the) 283.33 686 T 1 F (BeanConte) 307.99 686 T (xt) 361.08 686 T 0 F ( has no children.) 369.74 686 T 133.85 658.8 108 658.8 2 L 0.6 H 0 Z N (Note) 108 660 T 154.37 658.8 133.85 658.8 2 L N (that) 133.85 660 T 168.88 658.8 154.37 658.8 2 L N (all) 154.37 660 T 183.55 658.8 168.88 658.8 2 L N (the) 168.88 660 T 186.07 658.8 183.55 658.8 2 L N 239.07 658.8 186.07 658.8 2 L N 1 F (Collection) 186.07 660 T 281.78 658.8 238.59 658.8 2 L N 0 F (methods) 238.59 660 T 296.3 658.8 281.78 658.8 2 L N (all) 281.78 660 T 332.8 658.8 296.3 658.8 2 L N (require) 296.3 660 T 366.64 658.8 332.8 658.8 2 L N (proper) 332.8 660 T 445.81 658.8 366.64 658.8 2 L N (synchronization) 366.64 660 T 488.32 658.8 445.81 658.8 2 L N (between) 445.81 660 T 512.82 658.8 488.32 658.8 2 L N (each) 488.32 660 T 540.48 658.8 512.82 658.8 2 L N (other) 512.82 660 T 122.92 644.8 108 644.8 2 L N (by) 108 646 T 131.18 644.8 122.92 644.8 2 L N (a) 122.92 646 T 140.21 644.8 131.18 644.8 2 L N (gi) 131.18 646 T 146.03 644.8 140.21 644.8 2 L N (v) 140.21 646 T 160.29 644.8 146.03 644.8 2 L N (en) 146.03 646 T 238.54 644.8 160.29 644.8 2 L N (implementation) 160.29 646 T 250.81 644.8 238.54 644.8 2 L N (in) 238.54 646 T 279.05 644.8 250.81 644.8 2 L N (order) 250.81 646 T 291.31 644.8 279.05 644.8 2 L N (to) 279.05 646 T 334.23 644.8 291.31 644.8 2 L N (function) 291.31 646 T 379.8 644.8 334.23 644.8 2 L N (correctly) 334.23 646 T 392.06 644.8 379.8 644.8 2 L N (in) 379.8 646 T 400.32 644.8 392.06 644.8 2 L N (a) 392.06 646 T 473.9 644.8 400.32 644.8 2 L N (multi-threaded) 400.32 646 T 484.74 644.8 473.9 644.8 2 L N (en) 473.9 646 T 540.08 644.8 484.74 644.8 2 L N (vironment,) 484.74 646 T 128.69 630.8 108 630.8 2 L N (that) 108 632 T 142.39 630.8 128.69 630.8 2 L N (is,) 128.69 632 T 154.42 630.8 142.39 630.8 2 L N (to) 142.39 632 T 188.43 630.8 154.42 630.8 2 L N (ensure) 154.42 632 T 209.12 630.8 188.43 630.8 2 L N (that) 188.43 632 T 220.27 630.8 209.12 630.8 2 L N (an) 209.12 632 T 228.97 630.8 220.27 630.8 2 L N (y) 220.27 632 T 270.31 630.8 228.97 630.8 2 L N (changes) 228.97 632 T 282.34 630.8 270.31 630.8 2 L N (to) 270.31 632 T 299.7 630.8 282.34 630.8 2 L N (the) 282.34 632 T 361.72 630.8 299.7 630.8 2 L N (membership) 299.7 632 T 374.41 630.8 361.72 630.8 2 L N (of) 361.72 632 T 391.76 630.8 374.41 630.8 2 L N (the) 374.41 632 T 407.79 630.8 391.76 630.8 2 L N (set) 391.76 632 T 420.48 630.8 407.79 630.8 2 L N (of) 407.79 632 T 430.23 630.8 420.48 630.8 2 L N (Ja) 420.48 632 T 435.93 630.8 430.23 630.8 2 L N (v) 430.23 632 T 473.28 630.8 435.93 630.8 2 L N (aBeans) 435.93 632 T 506.64 630.8 473.28 630.8 2 L N (nested) 473.28 632 T 540.31 630.8 506.64 630.8 2 L N (within) 506.64 632 T 125.36 616.8 108 616.8 2 L N (a gi) 108 618 T 131.18 616.8 125.36 616.8 2 L N (v) 125.36 618 T 145.51 616.8 131.18 616.8 2 L N (en) 131.18 618 T 198.6 616.8 145.51 616.8 2 L N 1 F (BeanConte) 145.51 618 T 207.26 616.8 198.6 616.8 2 L N (xt) 198.6 618 T 316.13 616.8 207.26 616.8 2 L N 0 F ( are applied atomically) 207.26 618 T 538.43 616.8 316.13 616.8 2 L N (. All implementations are required to synchro-) 316.13 618 T 136.82 602.8 108 602.8 2 L N (nized) 108 604 T 161.65 602.8 136.82 602.8 2 L N (their) 136.82 604 T 244.49 602.8 161.65 602.8 2 L N (implementations) 161.65 604 T 257.32 602.8 244.49 602.8 2 L N (of) 244.49 604 T 284.81 602.8 257.32 602.8 2 L N (these) 257.32 604 T 328.31 602.8 284.81 602.8 2 L N (methods) 284.81 604 T 352.48 602.8 328.31 602.8 2 L N (with) 328.31 604 T 370.14 602.8 352.48 602.8 2 L N (the) 352.48 604 T 423.06 602.8 369.97 602.8 2 L N 1 F (BeanConte) 369.97 604 T 487.21 602.8 423.06 602.8 2 L N (xt.globalHier) 423.06 604 T 497.44 602.8 487.21 602.8 2 L N (ar) 487.21 604 T 502.58 602.8 497.44 602.8 2 L N (c) 497.44 604 T 531.67 602.8 502.58 602.8 2 L N (hyLoc) 502.58 604 T 537 602.8 531.67 602.8 2 L N (k) 531.67 604 T 540 602.8 537 602.8 2 L N 0 F (.) 537 604 T (In) 108 578 T (some) 120.88 578 T (situations,) 149.09 578 T 1 F (add\050\051) 200.97 578 T 0 F (and) 229.85 578 T 1 F (r) 250.05 578 T (emo) 254.28 578 T (ve\050\051) 274.15 578 T 0 F (\050or) 295.67 578 T (a) 312.55 578 T (v) 320.75 578 T (ariant) 326.45 578 T (thereof\051) 356.66 578 T (operations) 397.52 578 T (may) 450.39 578 T (occur) 473.93 578 T (nested,) 503.46 578 T (that) 108 564 T (is) 128.73 564 T (multiple) 139.46 564 T (occurrences) 182.19 564 T (may) 242.21 564 T (appear) 265.6 564 T (on) 300.31 564 T (the) 315.04 564 T (stack) 332.42 564 T (of) 359.81 564 T (the) 372.53 564 T (calling) 389.92 564 T 1 F (Thr) 425.31 564 T (ead) 442.21 564 T 0 F (simultaneously) 462.26 564 T 1 F (,) 534.27 564 T 0 F (e.g:) 108 550 T (when) 128.4 550 T 1 F (BeanConte) 157.14 550 T (xtChild,) 210.23 550 T 0 F (A,) 251.31 550 T (is) 265.71 550 T (added) 276.46 550 T (\050or) 307.85 550 T (remo) 324.59 550 T (v) 349.07 550 T (ed\051,) 354.89 550 T (it\325) 375.95 550 T (s) 385.96 550 T 1 F (setBeanConte) 393.37 550 T (xt\050\051) 459.79 550 T 0 F (method) 479.19 550 T (also) 517.93 550 T (adds \050or remo) 108 536 T (v) 174.47 536 T (es\051 another) 180.29 536 T 1 F (BeanConte) 236.27 536 T (xtChild,) 289.36 536 T 0 F ( B. A particular) 327.7 536 T 1 F (BeanConte) 405.35 536 T (xt) 458.44 536 T 0 F ( implementa-) 467.1 536 T (tion may choose to \336re either tw) 108 522 T (o) 263.2 522 T 1 F (BeanConte) 272.2 522 T (xtMember) 325.28 522 T (shipListener) 373.81 522 T 0 F ( noti\336cations, one for) 433.15 522 T (each) 108 508 T 1 F (add\050\051) 132.98 508 T 0 F (/) 158.98 508 T 1 F (r) 162.31 508 T (emo) 166.54 508 T (ve\050\051) 186.41 508 T 0 F ( operation of B then A \050in this order since B is successfully added) 205.06 508 T (before A\051, or coalesce these into a single noti\336cation containing both A, and B. Note that) 108 494 T (should A be unable to be added or remo) 108 480 T (v) 299.78 480 T (ed for an) 305.6 480 T (y reason it shall not perform, or undo,) 348.07 480 T (an) 108 466 T (y) 119.15 466 T (add) 128.06 466 T (or) 148.3 466 T (remo) 161.21 466 T (v) 185.69 466 T (e) 191.51 466 T (operations) 199.75 466 T (upon) 252.65 466 T (B) 279.57 466 T (as) 290.48 466 T (a) 303.39 466 T (side-ef) 311.63 466 T (fect,) 343.98 466 T (prior) 367.89 466 T (to) 394.13 466 T (thro) 406.38 466 T (wing) 425.41 466 T (a) 452.32 466 T 1 F (Pr) 460.56 466 T (opertyV) 472.02 466 T (etoEx-) 508.68 466 T (ception) 108 452 T 0 F ( to indicate this condition, that is, it must a) 143.33 452 T (v) 347.44 452 T (oid or undo an) 353.2 452 T (y side-ef) 422.68 452 T (fect member-) 464.03 452 T (ship changes prior to rejecting an) 108 438 T (y changes to its o) 267.46 438 T (wn membership status.) 350.48 438 T (The) 108 412 T 1 F (instantiateChild\050\051) 129.5 412 T 0 F (method) 217.68 412 T (is) 256.51 412 T (a) 267.35 412 T (con) 275.51 412 T (v) 292.36 412 T (enience) 298.18 412 T (method) 337.67 412 T (that) 376.5 412 T (may) 397.34 412 T (be) 420.84 412 T (in) 435 412 T (v) 443.86 412 T (ok) 449.62 412 T (ed) 461.5 412 T (to) 475.66 412 T (instantiate) 487.83 412 T (a ne) 108 398 T (w Ja) 127.36 398 T (v) 148.78 398 T (aBean instance as a child of the tar) 154.48 398 T (get) 321.22 398 T 1 F (BeanConte) 338.88 398 T (xt) 391.97 398 T 0 F (. The implementation of the) 400.63 398 T (Ja) 108 384 T (v) 117.76 384 T (aBean is deri) 123.46 384 T (v) 185.81 384 T (ed from the v) 191.63 384 T (alue of the) 255.65 384 T 1 F (beanName) 309.3 384 T 0 F (actual parameter) 363.62 384 T (, and is de\336ned by) 442.78 384 T (the) 108 370 T 1 F (java.beans.Beans.instantiate\050\051) 125.66 370 T 0 F ( method.) 271.32 370 T (T) 108 344 T (ypically) 114.37 344 T (, this shall be implemented by calling the appropriate) 152.26 344 T 1 F (java.beans.Beans.instanti-) 410.23 344 T (ate\050\051) 108 330 T 0 F (method, using the) 133.66 330 T 1 F (ClassLoader) 222.32 330 T 0 F ( of the tar) 283.67 330 T (get) 329.77 330 T 1 F (BeanConte) 347.44 330 T (xt) 400.52 330 T 0 F (. Ho) 409.19 330 T (we) 429.55 330 T (v) 443.24 330 T (er a particular) 449.06 330 T 1 F (BeanConte) 108 316 T (xt) 161.09 316 T 0 F ( implementation may interpose side-ef) 169.75 316 T (fects on the instantiate operation in) 354.1 316 T (their implementation of this method.) 108 302 T (The) 108 276 T 1 F (BeanConte) 129.66 276 T (xtEvent) 182.75 276 T 0 F ( is the abstract root) 218.74 276 T 1 F (EventObject) 313.06 276 T 0 F ( class for all) 372.37 276 T 1 F (Events) 433.69 276 T 0 F ( pertaining to) 465.68 276 T (changes) 108 262 T (in) 149.6 262 T (state) 161.89 262 T (of) 186.84 262 T (a) 199.78 262 T 1 F (BeanConte) 208.06 262 T (xt) 261.15 262 T 0 F (\325) 269.81 262 T (s) 273.15 262 T (de\336ned) 280.77 262 T (semantics.) 319.04 262 T (This) 372.32 262 T (abstract) 396.61 262 T (root) 436.88 262 T (class) 459.16 262 T (de\336nes) 485.44 262 T (the) 522.39 262 T 1 F (BeanConte) 108 248 T (xt) 161.09 248 T 0 F ( that is the source of the noti\336cation, and also introduces a mechanism to) 169.75 248 T (allo) 108 234 T (w the propag) 125.7 234 T (ation of) 188.29 234 T 1 F (BeanConte) 228.29 234 T (xtEvent) 281.38 234 T 0 F ( subclasses through a hierarch) 317.36 234 T (y of) 461.27 234 T 1 F (BeanCon-) 483.26 234 T (te) 108 220 T (xts) 116.42 220 T 0 F (.) 129.76 220 T (The) 135.61 220 T 1 F (setPr) 157.12 220 T (opa) 181.91 220 T (gatedF) 199.79 220 T (r) 233.13 220 T (om) 237.26 220 T 0 F (\050\051) 251.92 220 T (and) 262.77 220 T 1 F (g) 282.95 220 T (etPr) 288.83 220 T (opa) 308.95 220 T (gatedF) 326.83 220 T (r) 360.17 220 T (om) 364.3 220 T 0 F (\050\051) 378.96 220 T (methods) 389.81 220 T (allo) 433.33 220 T (ws) 451.03 220 T (a) 467.21 220 T 1 F (BeanConte) 475.39 220 T (xt) 528.48 220 T 0 F (to) 108 206 T (identify) 120.29 206 T (itself) 160.57 206 T (as) 187.52 206 T (the) 200.47 206 T (source) 218.08 206 T (of) 252.35 206 T (a) 265.3 206 T (propag) 273.58 206 T (ated) 306.84 206 T (Ev) 329.78 206 T (ent) 342.93 206 T (to) 360.55 206 T (the) 372.83 206 T 1 F (BeanConte) 390.45 206 T (xt) 443.54 206 T 0 F (to) 455.15 206 T (which) 467.44 206 T (it) 499.72 206 T (subse-) 509.34 206 T (quently propag) 108 192 T (ates the) 180.26 192 T 1 F (Event) 219.59 192 T 0 F ( to. This is a general propag) 246.91 192 T (ation mechanism and should be) 380.5 192 T (used with care as it has signi\336cant performance implications when propag) 108 178 T (ated through) 463.21 178 T (lar) 108 164 T (ge hierarchies.) 120.44 164 T (The) 108 138 T 1 F (BeanConte) 129.66 138 T (xtMember) 182.75 138 T (shipEvent) 231.28 138 T 0 F ( describes changes that occur in the membership of a) 278.6 138 T (particular) 108 124 T 1 F (BeanConte) 156.98 124 T (xt) 210.07 124 T 0 F ( instance. This e) 218.74 124 T (v) 296.42 124 T (ent encapsulates the list of children either added) 302.24 124 T (to,) 108 110 T (or) 123.23 110 T (remo) 136.11 110 T (v) 160.59 110 T (ed) 166.41 110 T (from,) 180.63 110 T (the) 209.85 110 T (membership) 227.4 110 T (of) 289.62 110 T (a) 302.5 110 T (particular) 310.72 110 T 1 F (BeanConte) 359.59 110 T (xt) 412.68 110 T 0 F (instance,) 424.24 110 T (i.e) 469.45 110 T (the) 484 110 T (delta) 501.56 110 T (in) 527.77 110 T (the membership set.) 108 96 T FMENDPAGE %%EndPage: "7" 8 %%Page: "8" 9 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (8) 536 42.62 T 0 12 Q (whene) 108 712 T (v) 139.02 712 T (er a successful) 144.84 712 T 1 F (add) 217.81 712 T 0 F (\050\051,) 235.81 712 T 1 F (r) 249.8 712 T (emo) 254.03 712 T (ve) 273.9 712 T 0 F (\050\051,) 284.56 712 T 1 F (addAll) 298.55 712 T 0 F (\050\051,) 330.55 712 T 1 F (r) 344.54 712 T (etainAll) 348.77 712 T 0 F (\050\051,) 386.77 712 T 1 F (r) 400.76 712 T (emo) 404.99 712 T (veAll) 424.86 712 T 0 F (\050\051, or) 449.52 712 T 1 F (clear) 476.51 712 T 0 F (\050\051 is) 501.17 712 T (in) 108 698 T (v) 116.86 698 T (ok) 122.62 698 T (ed upon a particular) 134.5 698 T 1 F (BeanConte) 233.14 698 T (xt) 286.22 698 T 0 F ( instance, a) 294.89 698 T 1 F (BeanConte) 351.54 698 T (xtMember) 404.63 698 T (shipEvent) 453.16 698 T 0 F (is \336red) 503.48 698 T (describing the children ef) 108 684 T (fected by the operation.) 230 684 T 2 F (2.1.2 Resour) 108 652 T (ces.) 174.44 652 T 0 F (The) 108 626 T 1 F (BeanConte) 129.66 626 T (xt) 182.75 626 T 0 F ( de\336nes tw) 191.41 626 T (o methods;) 243.29 626 T 1 F (g) 299.29 626 T (etResour) 305.17 626 T (ceAsStr) 347.39 626 T (eam) 383.6 626 T 0 F (\050\051 and) 403.6 626 T 1 F (g) 434.92 626 T (etResour) 440.8 626 T (ce) 483.01 626 T 0 F (\050\051 which) 493.67 626 T (are analogous to those methods found on) 108 612 T 1 F (java.lang) 307.64 612 T (.ClassLoader) 352.46 612 T (. BeanConte) 415.48 612 T (xtChild) 474.56 612 T 0 F (instances) 108 598 T (nested) 154.7 598 T (within) 188.06 598 T (a) 221.44 598 T 1 F (BeanConte) 229.47 598 T (xt) 282.56 598 T 0 F (shall) 293.92 598 T (in) 319.3 598 T (v) 328.15 598 T (ok) 333.91 598 T (e) 345.79 598 T (the) 353.82 598 T (methods) 371.19 598 T (on) 414.56 598 T (their) 429.27 598 T (nesting) 453.97 598 T 1 F (BeanCon-) 491.34 598 T (te) 108 584 T (xt) 116.42 584 T 0 F ( in preference for those on) 125.09 584 T 1 F (ClassLoader) 254.38 584 T 0 F (, to allo) 315.24 584 T (w a) 351.28 584 T 1 F (BeanConte) 371.27 584 T (xt) 424.36 584 T 0 F ( implementation to) 433.02 584 T (augment the semantics by interposing beha) 108 570 T (vior between the child and the underlying) 314.74 570 T 1 F (ClassLoader) 108 556 T 0 F ( semantics.) 169.34 556 T 2 F (2.1.3 The BeanContext as a Ser) 108 524 T (vice Pr) 270.54 524 T (o) 305.98 524 T (vider) 311.86 524 T 0 F (The service f) 108 498 T (acilities of a) 170.52 498 T 1 F (BeanConte) 232.18 498 T (xt) 285.26 498 T 0 F ( are pro) 293.93 498 T (vided as follo) 330.4 498 T (ws:) 395.42 498 T 5 F (public interface BeanContextServices) 108 478 T ( extends BeanContext,BeanContextServicesListener {) 144 462 T (boolean addService\050Class serviceClass,) 144 430 T ( BeanContextServiceProvider service\051;) 144 414 T (boolean revokeService\050Class serviceClass,) 144 382 T ( BeanContextServiceProvider bcsp,) 144 366 T ( boolean revokeNow) 144 350 T (\051;) 144 334 T (boolean hasService\050Class serviceClass\051;) 144 302 T (Object getService\050BeanContextChild bcc,) 144 270 T ( Object requestor.) 144 254 T ( Class serviceClass,) 144 238 T (Object) 269.79 222 T (serviceSelector,) 424.8 222 T ( BeanContextServicesRevokedListener sl) 144 206 T (\051 throws TooManyListenersException;) 144 190 T (void releaseService\050BeanContextChild bcc,) 144 158 T ( Object requestor,) 144 142 T ( Object service\051;) 144 126 T (Iterator getCurrentServiceClasses\050\051;) 144 94 T FMENDPAGE %%EndPage: "8" 9 %%Page: "9" 10 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (9) 536 42.62 T 5 12 Q (public Iterator getCurrentServiceSelectors\050Class sc\051;) 144 712 T (addBeanContextServicesListener\050) 144 680 T (BeanContextServicesListener bcsl) 180 664 T (\051;) 144 648 T (removeBeanContextServicesListener\050) 144 616 T (BeanContextServicesListener bcsl) 180 600 T ( \051;) 108 584 T (}) 108 568 T 0 F (The) 108 542 T 1 F (BeanConte) 129.66 542 T (xtServicePr) 182.75 542 T (o) 238.19 542 T (vider) 244.07 542 T 0 F ( interf) 268.73 542 T (ace is de\336ned as follo) 297.6 542 T (ws:) 401.28 542 T 5 F (public interface BeanContextServiceProvider {) 108 522 T (Object getService\050BeanContext bc,) 144 506 T ( Object requestor,) 144 490 T ( Class serviceCls,) 144 474 T ( Object serviceSelector\051;) 144 458 T (void releaseService\050BeanContext bc,) 144 426 T ( Object requestor,) 144 410 T ( Object service\051;) 144 394 T (Iterator getCurrentServiceSelectors\050BeanContext bc,) 144 362 T ( Class serviceCls\051;) 144 346 T (}) 108 330 T 0 F (The) 108 298 T 1 F (BeanConte) 129.66 298 T (xtServiceRe) 182.75 298 T (vok) 239.21 298 T (edListener) 255.74 298 T 0 F ( is de\336ned as follo) 306.41 298 T (ws:) 394.1 298 T 5 F (public interface BeanContextServiceRevokedListener) 108 266 T ( extends java.util.EventListener {) 144 250 T (void serviceRevoked\050) 144 234 T (BeanContextServiceRevokedEvent bcsre) 180 218 T (\051;) 144 202 T (}) 108 186 T 0 F (The) 108 160 T 1 F (BeanConte) 129.66 160 T (xtServicesListener) 182.75 160 T 0 F ( is de\336ned as follo) 270.73 160 T (ws:) 358.43 160 T 5 F (public interface BeanContextServicesListener) 108 140 T ( extends BeanContextServiceRevokedListener {) 144 124 T (void serviceAvailable\050) 144 108 T (BeanContextServiceAvailableEvent bcsae) 180 92 T (\051;) 144 76 T FMENDPAGE %%EndPage: "9" 10 %%Page: "10" 11 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (10) 532 42.62 T 5 12 Q (}) 108 712 T 0 F (The) 108 686 T 1 F (BeanConte) 129.66 686 T (xtServiceA) 182.75 686 T (vailableEvent) 233.4 686 T 0 F ( is de\336ned as follo) 299.39 686 T (ws:) 387.08 686 T 5 F (public class BeanContextServiceAvailableEvent) 108 666 T ( extends BeanContextEvent {) 144 650 T (public BeanContextServiceAvailableEvent\050) 144 618 T (BeanContextServices bcs,) 216 602 T (Class sc) 216 586 T ( \051;) 108 570 T (BeanContextServices getSourceAsBeanContextServices\050\051;) 144 538 T (public Class getServiceClass\050\051;) 144 506 T (public boolean isServiceClass\050Class serviceClass\051;) 144 474 T (public Iterator getCurrentServiceSelectors\050\051;) 144 442 T (}) 108 426 T 0 F (The) 108 400 T 1 F (BeanConte) 129.66 400 T (xtServiceRe) 182.75 400 T (vok) 239.21 400 T (edEvent) 255.74 400 T 0 F ( is de\336ned as follo) 294.4 400 T (ws:) 382.09 400 T 5 F (public class BeanContextServiceRevokedEvent) 108 380 T ( extends BeanContextEvent {) 144 364 T (public BeanContextServiceRevokedEvent\050) 144 348 T (BeanContextServices bcs,) 252 332 T (Class sc,) 252 316 T ( boolean invalidNow) 216 300 T (\051;) 144 284 T (public BeanContextServices) 144 254 T (getSourceAsBeanContextServices\050\051;) 216 238 T (public Class getServiceClass\050\051;) 144 206 T (public boolean isServiceClass\050Class service\051;) 144 174 T (public boolean isCurrentServiceInvalidNow\050\051;) 144 142 T (}) 108 126 T 0 F (The) 108 84 T 1 F (BeanConte) 132.66 84 T (xtServicePr) 185.75 84 T (o) 241.19 84 T (viderBeanInfo) 247.07 84 T 0 F ( is de\336ned as follo) 315.72 84 T (ws:) 403.42 84 T FMENDPAGE %%EndPage: "10" 11 %%Page: "11" 12 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (11) 532 42.62 T 5 12 Q (public interface BeanContextServicesProviderBeanInfo) 108 712 T ( extends java.beans.BeanInfo {) 108 696 T ( java.beans.BeanInfo[] getServicesBeanInfo\050\051;) 108 680 T (}) 108 664 T 0 F (Apart from pro) 108 622 T (viding a structured hierarch) 180.47 622 T (y) 312.71 622 T (, the other major role of a) 317.93 622 T 1 F (BeanConte) 443.23 622 T (xt) 496.32 622 T 0 F ( is to) 504.98 622 T (pro) 108 608 T (vide a standard mechanism for a Ja) 123.82 608 T (v) 292.2 608 T (aBean component to obtain conte) 297.9 608 T (xt-speci\336c f) 458.36 608 T (acili-) 515.23 608 T (ties or services from its en) 108 594 T (vironment.) 233.83 594 T (A service, represented by a) 108 568 T 1 F (Class) 241.28 568 T 0 F ( object, is typically a reference to either an interf) 267.96 568 T (ace, or) 501.11 568 T (to an implementation that is not publicly instantiable. This) 108 554 T 1 F (Class) 391.34 554 T 0 F ( de\336nes an interf) 418.02 554 T (ace pro-) 498.22 554 T (tocol) 108 540 T (or) 134.59 540 T (contract) 147.17 540 T (between) 188.41 540 T (a) 230.98 540 T 1 F (BeanConte) 238.89 540 T (xtServicePr) 291.98 540 T (o) 347.42 540 T (vider) 353.3 540 T 0 F (,) 377.48 540 T (the) 383.07 540 T (f) 400.32 540 T (actory) 404.19 540 T (of) 436.77 540 T (the) 449.35 540 T (service,) 466.6 540 T (and) 506.17 540 T (an) 526.09 540 T (arbitrary object associated with a) 108 526 T 1 F (BeanConte) 269.63 526 T (xtChild) 322.72 526 T 0 F (that is currently nested within the) 361.06 526 T 1 F (BeanConte) 108 512 T (xt) 161.09 512 T 0 F ( the service is re) 169.75 512 T (gistered with. T) 247.55 512 T (ypically such protocols encapsulate some) 322.25 512 T (conte) 108 498 T (xt speci\336c or sensiti) 133.81 498 T (v) 229.18 498 T (e beha) 235 498 T (vior that isolates a) 265.74 498 T 1 F (BeanConte) 356.4 498 T (xtChild) 409.49 498 T 0 F (\325) 444.83 498 T (s implementation) 448.16 498 T (from) 108 484 T (such) 133.77 484 T (dependencies) 158.2 484 T (thus) 225.28 484 T (resulting) 247.73 484 T (in) 292.16 484 T (simpler) 303.94 484 T (implementations,) 342.38 484 T (greater) 427.82 484 T (interoperability) 463.57 484 T (and portability) 108 470 T (.) 177.55 470 T (A) 108 444 T 1 F (BeanConte) 119.66 444 T (xtServicePr) 172.75 444 T (o) 228.19 444 T (vider) 234.07 444 T 0 F (, is a \322f) 258.25 444 T (actory\323 for one or more services. It re) 292.79 444 T (gisters itself) 473.21 444 T (with a particular) 108 430 T 1 F (BeanConte) 189.65 430 T (xtServices) 242.74 430 T 0 F ( via it\325) 291.38 430 T (s) 322.06 430 T 1 F (adService) 329.72 430 T 0 F (\050\051 method, if the service is not) 377.04 430 T (already re) 108 416 T (gistered with the) 155.46 416 T 1 F (BeanConte) 238.45 416 T (xtServices) 291.54 416 T 0 F (, the) 340.19 416 T 1 F (BeanConte) 363.85 416 T (xtServices) 416.94 416 T 0 F ( associates the) 465.59 416 T (service) 108 402 T (speci\336ed) 144.76 402 T (with) 190.2 402 T (the) 214.32 402 T 1 F (BeanConte) 231.76 402 T (xtServicePr) 284.85 402 T (o) 340.29 402 T (vider) 346.17 402 T (,) 369.5 402 T 0 F (and) 375.28 402 T (\336res) 395.39 402 T (a) 418.83 402 T 1 F (BeanConte) 426.94 402 T (xtServiceA) 480.02 402 T (v-) 530.68 402 T (ailableEvent) 108 388 T 0 F ( via the) 168.66 388 T 1 F (serviceA) 206.99 388 T (vailable) 247.64 388 T 0 F (\050\051 method to those) 286.31 388 T 1 F (BeanConte) 376.97 388 T (xtServicesListener) 430.06 388 T (s) 517.92 388 T 0 F (currently re) 108 374 T (gistered, then returns) 163.46 374 T 5 F (true) 267.44 374 T 0 F (, otherwise) 296.24 374 T 5 F (false) 351.9 374 T 0 F (indicating that the service is) 395.1 374 T (already re) 108 360 T (gistered for that) 155.46 360 T 1 F (BeanConte) 234.44 360 T (xtServices) 287.53 360 T 0 F (.) 336.18 360 T (Once re) 108 334 T (gistered, and until re) 145.46 334 T (v) 243.82 334 T (ok) 249.58 334 T (ed, the service is a) 261.46 334 T (v) 349.52 334 T (ailable via the) 355.22 334 T 1 F (BeanConte) 425.54 334 T (xtServices) 478.63 334 T (g) 108 320 T (etService) 113.88 320 T 0 F (\050\051 method.) 157.86 320 T (The) 108 294 T 1 F (hasService) 129.66 294 T 0 F (\050\051 method may be used to test the presence of a particular service, and the) 181.64 294 T 1 F (g) 108 280 T (etCurr) 113.88 280 T (entServices) 145.44 280 T 0 F (\050\051 method returns an iterator o) 200.09 280 T (v) 344.21 280 T (er the currently a) 350.03 280 T (v) 431.42 280 T (ailable services for) 437.12 280 T (that) 108 266 T 1 F (BeanConte) 129 266 T (xtServices) 182.09 266 T 0 F (.) 230.74 266 T (A) 108 240 T 1 F (BeanConte) 119.66 240 T (xtChild) 172.75 240 T 0 F ( or an) 208.09 240 T (y arbitrary object associated with a) 235.24 240 T 1 F (BeanConte) 405.86 240 T (xtChild) 458.95 240 T 0 F (, may) 494.29 240 T (obtain a reference to a currently re) 108 226 T (gistered service from its nesting) 273.08 226 T 1 F (BeanConte) 429.4 226 T (xtServices) 482.48 226 T 0 F (via) 108 212 T (an) 125.5 212 T (in) 139.67 212 T (v) 148.52 212 T (ocation) 154.28 212 T (of) 192.45 212 T (the) 205.28 212 T 1 F (g) 222.79 212 T (etService) 228.67 212 T 0 F (\050\051) 272.65 212 T (method.) 283.48 212 T (The) 325.31 212 T 1 F (g) 346.81 212 T (etService) 352.69 212 T 0 F (\050\051) 396.67 212 T (method) 407.5 212 T (speci\336es;) 446.34 212 T (the) 493.84 212 T 1 F (Bean-) 511.34 212 T (Conte) 108 198 T (xtChild) 136.43 198 T 0 F (, the associated) 171.77 198 T 1 F (r) 247.75 198 T (equestor) 251.98 198 T 0 F (, the) 292.82 198 T 1 F (Class) 319.49 198 T 0 F ( of the service requested, a service) 346.16 198 T (dependent parameter \050kno) 108 184 T (wn as a Service Selector\051, and a) 232.99 184 T 1 F (BeanConte) 388.94 184 T (xtServicesRe-) 442.03 184 T (vok) 108 170 T (edListener) 124.54 170 T 0 F ( used to subsequently notify the requestor that the service class has been) 175.2 170 T (re) 108 156 T (v) 117.02 156 T (ok) 122.78 156 T (ed) 134.66 156 T (by) 148.61 156 T (the) 163.22 156 T 1 F (BeanConte) 180.5 156 T (xtServicePr) 233.59 156 T (o) 289.02 156 T (vider) 294.9 156 T 0 F (.) 318.9 156 T (The) 324.52 156 T 1 F (Listener) 345.79 156 T 0 F (is) 387.74 156 T (re) 398.36 156 T (gistered) 407.5 156 T (automatically) 448.11 156 T (with) 516.05 156 T (a unicast e) 108 142 T (v) 158.35 142 T (ent source) 164.17 142 T 362.77 140.8 216.16 140.8 2 L 0.6 H 0 Z N (per requestor and service class) 216.16 142 T ( and is automatically unre) 362.77 142 T (gistered) 486.58 142 T (when a requestor relinquishes all references of a gi) 108 128 T (v) 351.62 128 T (en service class, or as a side ef) 357.44 128 T (fect of) 503.76 128 T (the service being \322forcibly re) 108 114 T (v) 247.66 114 T (ok) 253.42 114 T (ed\323 by the pro) 265.3 114 T (viding) 333.43 114 T 1 F (BeanConte) 367.1 114 T (xtServicePr) 420.19 114 T (o) 475.63 114 T (vider) 481.51 114 T 0 F (.) 505.51 114 T (The) 108 88 T 1 F (BeanConte) 129.66 88 T (xtServices) 182.75 88 T 0 F ( passes this) 231.4 88 T 1 F (g) 288.4 88 T (etService) 294.28 88 T 0 F (\050\051 in) 338.26 88 T (v) 358.1 88 T (ocation onto the associated) 363.86 88 T 1 F (Bean-) 496.51 88 T (Conte) 108 74 T (xtServicePr) 136.43 74 T (o) 191.87 74 T (vider) 197.75 74 T 0 F ( \050if an) 222.41 74 T (y\051 to be satis\336ed via an in) 250.88 74 T (v) 373.73 74 T (ocation of its) 379.49 74 T 1 F (g) 445.15 74 T (etService) 451.03 74 T 0 F (\050\051) 495.01 74 T FMENDPAGE %%EndPage: "11" 12 %%Page: "12" 13 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (12) 532 42.62 T 0 12 Q (method.) 108 712 T (The) 149.9 712 T 1 F (BeanConte) 171.46 712 T (xtServicePr) 224.54 712 T (o) 279.98 712 T (vider) 285.86 712 T 0 F (is) 313.42 712 T (passed) 324.32 712 T (the) 359.21 712 T 1 F (BeanConte) 376.77 712 T (xt) 429.86 712 T 0 F (,) 438.52 712 T (the) 444.42 712 T 1 F (Class) 461.98 712 T 0 F (of) 491.56 712 T (the) 504.45 712 T (ser-) 522.01 712 T (vice pro) 108 698 T (vided, the service dependent service parameter \050the Service Selector\051 and a refer-) 146.81 698 T (ence to the object requesting the service.) 108 684 T (The) 108 658 T (reference) 129.15 658 T (to) 176.27 658 T (the) 188.1 658 T 1 F (BeanConte) 205.26 658 T (xt) 258.34 658 T 0 F (is) 269.5 658 T (intended) 280 658 T (to) 323.82 658 T (enable) 335.64 658 T (the) 369.46 658 T 1 F (BeanConte) 386.61 658 T (xtServicePr) 439.7 658 T (o) 495.14 658 T (vider) 501.02 658 T 0 F (to) 528.17 658 T (distinguish) 108 644 T (service) 163.34 644 T (requests) 199.99 644 T (from) 241.97 644 T (multiple) 267.96 644 T (sources.) 310.63 644 T (A) 352.28 644 T 1 F (BeanConte) 363.61 644 T (xtServicePr) 416.7 644 T (o) 472.14 644 T (vider) 478.02 644 T 0 F (is) 505.34 644 T (only) 516 644 T (permitted to retain a weak reference to an) 108 630 T (y) 307.42 630 T 1 F (BeanConte) 316.42 630 T (xt) 369.5 630 T 0 F ( so obtained.) 378.17 630 T (The Service Selector parameter is a service dependent v) 108 604 T (alue used by a service requestor) 376.28 604 T (for a particular service in order to parameterize the service to be pro) 108 590 T (vided to it by the) 434.38 590 T 1 F (BeanConte) 108 576 T (xtServicePr) 161.09 576 T (o) 216.53 576 T (vider) 222.41 576 T 0 F (. Some e) 246.41 576 T (xamples of its usage are; a parameter to a construc-) 287.89 576 T (tor) 108 562 T (for) 124.3 562 T (the) 141.26 562 T (service) 158.9 562 T (implementation) 195.85 562 T (class;) 274.16 562 T (a) 303.79 562 T (v) 312.09 562 T (alue) 317.79 562 T (for) 340.75 562 T (a) 357.71 562 T (particular) 366.01 562 T (service\325) 414.97 562 T (s) 452.29 562 T (property) 459.92 562 T (,) 499.8 562 T (or) 505.77 562 T (as) 518.74 562 T (a) 531.7 562 T (k) 108 548 T (e) 113.88 548 T (y into a map of e) 119.03 548 T (xisting implementations.) 199.84 548 T (The reference to the requestor is intended to permit the) 108 522 T 1 F (BeanConte) 374.6 522 T (xtServicePr) 427.69 522 T (o) 483.13 522 T (vider) 489.01 522 T 0 F ( to) 513.67 522 T (interrog) 108 508 T (ate the state of the requestor in order to perform an) 145.93 508 T (y customization or parameter-) 389.69 508 T (ization of the service, therefore this reference shall be treated as immutable by the) 108 494 T 1 F (Bean-) 504.23 494 T (Conte) 108 480 T (xtServicesPr) 136.43 480 T (o) 196.54 480 T (vider) 202.42 480 T 0 F (. Additionally the) 226.42 480 T 1 F (BeanConte) 313.75 480 T (xtServicePr) 366.84 480 T (o) 422.28 480 T (vider) 428.16 480 T 0 F ( is permitted to) 452.82 480 T (retain) 108 466 T (only) 137.9 466 T (weak) 161.8 466 T (and) 189.69 466 T (immutable) 209.59 466 T (reference) 263.5 466 T (to) 310.7 466 T (both) 322.6 466 T (the) 346.51 466 T 1 F (r) 363.74 466 T (equestor) 367.97 466 T 0 F (and) 411.87 466 T (the) 431.77 466 T 1 F (BeanConte) 449 466 T (xtChild) 502.09 466 T 0 F (after returning from the) 108 452 T 1 F (g) 223.97 452 T (etService) 229.85 452 T 0 F (\050\051 in) 273.83 452 T (v) 293.68 452 T (ocation.) 299.44 452 T (The) 108 426 T 1 F (BeanConte) 129.66 426 T (xtServicePr) 182.75 426 T (o) 238.19 426 T (vider) 244.07 426 T 0 F ( may satisfy the request, returning a reference to an) 268.73 426 T (instance) 108 412 T (of) 150.26 412 T (the) 163.2 412 T 1 F (Class) 180.81 412 T 0 F (of) 210.42 412 T (the) 223.36 412 T (requested) 240.96 412 T (service) 289.89 412 T (\050such) 326.81 412 T (that) 355.75 412 T (the) 376.69 412 T (reference) 394.29 412 T (returned) 441.86 412 T (shall) 484.79 412 T (result) 510.39 412 T (in) 108 398 T (the) 120.16 398 T (e) 137.64 398 T (xpression:) 142.79 398 T 1 F () 194.94 398 T 5 F (instanceof) 285.92 398 T 1 F () 360.74 398 T 0 F (being) 440.42 398 T 5 F (true) 469.91 398 T 0 F (\051,) 498.71 398 T (return) 508.52 398 T 5 F (null) 108 384 T 0 F (, or thro) 136.8 384 T (w an uncheck) 174.83 384 T (ed e) 240.68 384 T (xception.) 260.16 384 T (In the case when a nested) 108 358 T 1 F (BeanConte) 233.29 358 T (xtServices) 286.38 358 T 0 F ( is requested for a particular service that it) 335.03 358 T (has no) 108 344 T 1 F (BeanConte) 142 344 T (xtServicePr) 195.08 344 T (o) 250.52 344 T (vider) 256.4 344 T 0 F ( for) 281.06 344 T (, then the) 297.58 344 T 1 F (BeanConte) 344.9 344 T (xtServices) 397.99 344 T 0 F ( may dele) 446.64 344 T (g) 493.12 344 T (ate the) 499.06 344 T (service requested to its o) 108 330 T (wn nesting) 226.34 330 T 1 F (BeanConte) 281.68 330 T (xtServices) 334.76 330 T 0 F ( in order to be satis\336ed. Thus) 383.41 330 T (dele) 108 316 T (g) 127.81 316 T (ation requests can propag) 133.75 316 T (ate from the leaf) 256 316 T 1 F (BeanConte) 337.97 316 T (xtServices) 391.06 316 T 0 F ( to the root) 439.7 316 T 1 F (Bean-) 495.04 316 T (Conte) 108 302 T (xtServices.) 136.43 302 T 0 F (A) 108 276 T 1 F (BeanConte) 119.66 276 T (xtChild) 172.75 276 T 0 F ( may query a particular) 208.09 276 T 1 F (BeanConte) 322.39 276 T (xtServices) 375.48 276 T 0 F ( for a list of currently) 424.13 276 T (a) 108 262 T (v) 113.09 262 T (ailable Service Classes \050via the) 118.79 262 T 1 F (g) 271.09 262 T (etCurr) 276.97 262 T (entServiceClasses) 308.53 262 T 0 F (\050\051 method\051and an) 395.18 262 T (y associated) 477.65 262 T (Service) 108 248 T (Selectors,) 146.83 248 T (if) 196.67 248 T (a) 206.85 248 T (particular) 215.03 248 T (service) 263.86 248 T 1 F (Class) 300.69 248 T 0 F (implements) 330.21 248 T (a) 389.06 248 T (\336nite) 397.23 248 T (list) 424.75 248 T (of) 442.27 248 T (apriori) 455.12 248 T (v) 489.95 248 T (alues) 495.65 248 T (for) 523.16 248 T (a Service Class, via its nesting) 108 234 T 1 F (BeanConte) 256.99 234 T (xtServices.g) 310.08 234 T (etCurr) 367.61 234 T (entServiceSelector) 399.17 234 T (s) 488.35 234 T 0 F (\050\051) 493.02 234 T (method, which in turn obtains the currently a) 108 220 T (v) 323.74 220 T (ailable Service Selectors \050if an) 329.44 220 T (y\051 via the) 475.88 220 T 1 F (BeanConte) 108 206 T (xtServicePr) 161.09 206 T (o) 216.53 206 T (vider) 222.41 206 T (.g) 245.74 206 T (etCurr) 254.62 206 T (entServiceSelector) 286.18 206 T (s) 375.36 206 T 0 F (\050\051 method.) 380.03 206 T (If the service in question does not implement a \336nite set of apriori v) 108 180 T (alues for the set of) 433.33 180 T (v) 108 166 T (alid Service Selectors it shall return) 113.7 166 T 5 F (null) 287.68 166 T 0 F (.) 316.48 166 T (A) 108 140 T (reference) 119.39 140 T (obtained) 166.74 140 T (by) 210.78 140 T (a) 225.51 140 T 1 F (BeanConte) 233.55 140 T (xtChild) 286.64 140 T 0 F (via) 324.7 140 T 1 F (g) 342.09 140 T (etService) 347.97 140 T 0 F (\050\051) 391.95 140 T (is) 402.66 140 T (v) 413.39 140 T (alid) 419.09 140 T (until) 439.81 140 T (the) 464.54 140 T (reference) 481.92 140 T (is) 529.27 140 T (released by the) 108 126 T 1 F (BeanConte) 182.98 126 T (xtChild) 236.06 126 T 0 F ( via an in) 271.4 126 T (v) 315.25 126 T (ocation of its nesting) 321.01 126 T 1 F (BeanConte) 424.34 126 T (xtServices) 477.43 126 T (r) 108 112 T (eleaseService) 112.22 112 T 0 F (\050\051 method, e) 177.53 112 T (xcept in the case where the) 235.67 112 T 1 F (BeanConte) 368.29 112 T (xtServices) 421.38 112 T 0 F ( \336res a) 470.03 112 T 1 F (Bean-) 505.02 112 T (Conte) 108 98 T (xtServiceRe) 136.43 98 T (vok) 192.89 98 T (edEvent) 209.42 98 T 0 F ( and that Ev) 248.08 98 T (ent\325) 305.56 98 T (s) 323.56 98 T 1 F (isCurr) 331.22 98 T (entServiceIn) 362.12 98 T (validNow) 421.62 98 T 0 F (\050\051 method) 467.63 98 T (returns) 108 84 T 5 F (true) 144.32 84 T 0 F (, in this case the) 173.12 84 T 1 F (BeanConte) 253.12 84 T (xtServices) 306.2 84 T 0 F ( and/or the) 354.85 84 T 1 F (BeanConte) 409.18 84 T (xtServicePr) 462.26 84 T (o-) 517.7 84 T FMENDPAGE %%EndPage: "12" 13 %%Page: "13" 14 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (13) 532 42.62 T 1 12 Q (vider) 108 712 T 0 F ( that pro) 132.66 712 T (vided the service has determined that current service references are immedi-) 172.48 712 T (ately in) 108 698 T (v) 143.18 698 T (alidated, or \322forcibly re) 148.88 698 T (v) 261.22 698 T (ok) 266.98 698 T (ed\323 \050this typically occurs in the follo) 278.86 698 T (wing situation\051.) 454.54 698 T (When) 108 672 T 1 F (BeanConte) 139.66 672 T (xtChild) 192.74 672 T 0 F ( instances are remo) 228.08 672 T (v) 320.21 672 T (ed from a particular) 326.03 672 T 1 F (BeanConte) 424 672 T (xtServices) 477.08 672 T 0 F (instance, the) 108 658 T (y shall discard all references to an) 167.81 658 T (y services the) 330.91 658 T (y obtained from that) 396.05 658 T 1 F (Bean-) 496.7 658 T (Conte) 108 644 T (xtServices) 136.43 644 T 0 F (by appropriate in) 188.08 644 T (v) 269.58 644 T (ocations of) 275.34 644 T 1 F (r) 331.33 644 T (eleaseService) 335.56 644 T 0 F (\050\051. If the un-nesting) 400.86 644 T 1 F (Bean-) 497.17 644 T (Conte) 108 630 T (xtChild) 136.43 630 T 0 F ( is also a) 171.77 630 T 1 F (BeanConte) 216.43 630 T (xtServices) 269.52 630 T 0 F ( instance, and if an) 318.17 630 T (y of these service) 408.3 630 T (references) 108 616 T (ha) 160.18 616 T (v) 171.27 616 T (e) 177.09 616 T (been) 185.3 616 T (e) 210.83 616 T (xposed) 215.98 616 T (to) 252.86 616 T (the) 265.08 616 T (un-nesting) 282.62 616 T 1 F (BeanConte) 336.17 616 T (xtServices) 389.26 616 T 0 F (\325) 437.91 616 T (s) 441.24 616 T (o) 448.79 616 T (wn) 454.49 616 T (members) 472.04 616 T (as) 518.91 616 T (a) 531.79 616 T (result of a dele) 108 602 T (g) 178.8 602 T (ated) 184.74 602 T 1 F (g) 207.73 602 T (etService) 213.61 602 T 0 F (\050\051 request as de\336ned abo) 257.59 602 T (v) 374.71 602 T (e, the) 380.53 602 T 1 F (BeanConte) 409.52 602 T (xtServiecs) 462.61 602 T 0 F ( shall) 511.26 602 T (\336re) 108 588 T (a) 126.72 588 T 1 F (BeanConte) 134.77 588 T (xtServiceRe) 187.85 588 T (vok) 244.31 588 T (edEvent) 260.85 588 T 0 F (to) 302.22 588 T (notify) 314.28 588 T (its) 345.67 588 T (nested) 359.73 588 T (children) 393.11 588 T (that) 435.16 588 T (the) 455.88 588 T (service\050s\051) 473.26 588 T (are) 522.63 588 T (\322forcibly re) 108 574 T (v) 163.34 574 T (ok) 169.1 574 T (ed\323. This immediate in) 180.98 574 T (v) 290.5 574 T (alidation of current references to dele) 296.2 574 T (g) 475.62 574 T (ated ser-) 481.56 574 T (vices at un-nesting is to ensure that services that are dependent upon the structure of the) 108 560 T (hierarch) 108 546 T (y are not used by requestors after their location in the structure has changed.) 147.25 546 T 1 F (BeanConte) 110.65 520 T (xtChild) 163.74 520 T 0 F (instances) 201.74 520 T (recei) 248.38 520 T (ving) 271.4 520 T (a) 295.39 520 T (\322forcable) 303.37 520 T (re) 350.66 520 T (v) 359.69 520 T (ocation\323) 365.45 520 T (of) 408.76 520 T (a) 421.41 520 T (Service) 429.39 520 T (Class) 468.03 520 T (shall) 496.69 520 T (not) 522.01 520 T (in) 108 506 T (v) 116.86 506 T (ok) 122.62 506 T (e) 134.5 506 T 1 F (r) 142.82 506 T (eleaseService) 147.05 506 T 0 F (\050\051 for an) 212.35 506 T (y references it may hold of that type, since in this case, the) 251.48 506 T 1 F (BeanConte) 108 492 T (xtServicePr) 161.09 492 T (o) 216.53 492 T (vider) 222.41 492 T 0 F ( or the) 247.07 492 T 1 F (BeanConte) 280.73 492 T (xtServices) 333.82 492 T 0 F ( that pro) 382.46 492 T (vided the service refer-) 422.28 492 T (ence to that) 108 478 T 1 F (BeanConte) 166.32 478 T (xtChild) 219.41 478 T 0 F ( has already in) 254.75 478 T (v) 323.92 478 T (alidated all references to that service on) 329.62 478 T (their behalf.) 108 464 T (A) 108 438 T 1 F (BeanConte) 119.66 438 T (xtServicePr) 172.75 438 T (o) 228.19 438 T (vider) 234.07 438 T 0 F ( may re) 258.73 438 T (v) 294.42 438 T (ok) 300.18 438 T (e a Service Class at an) 312.06 438 T (y time after it has re) 419.52 438 T (gis-) 515.65 438 T (tered it with a) 108 424 T 1 F (BeanConte) 177.32 424 T (xtServices) 230.41 424 T 0 F ( by in) 279.06 424 T (v) 305.92 424 T (oking its) 311.68 424 T 1 F (r) 356.35 424 T (e) 360.58 424 T (vok) 365.72 424 T (eService) 382.26 424 T 0 F (\050\051 method. Once the) 422.9 424 T 1 F (BeanConte) 108 410 T (xtServices) 161.09 410 T 0 F (has) 212.26 410 T (\336red) 230.79 410 T (a) 255.31 410 T 1 F (BeanConte) 263.17 410 T (xtServiceRe) 316.25 410 T (vok) 372.71 410 T (edEvent) 389.25 410 T 0 F (notifying) 430.43 410 T (the) 476.96 410 T (currently) 494.15 410 T (re) 108 396 T (gistered) 117.14 396 T 1 F (BeanConte) 158.14 396 T (xtServiceRe) 211.22 396 T (vok) 267.68 396 T (edListener) 284.22 396 T (s) 334.76 396 T 0 F ( and the) 339.43 396 T 1 F (BeanConte) 380.42 396 T (xtServicesListener) 433.51 396 T (s) 521.38 396 T 0 F (that the service is no) 108 382 T (w una) 206.35 382 T (v) 235.1 382 T (ailable it shall no longer satisfy an) 240.8 382 T (y ne) 405.28 382 T (w service requests for) 425.3 382 T (the) 108 368 T (re) 125.61 368 T (v) 134.64 368 T (ok) 140.4 368 T (ed) 152.28 368 T (service) 166.55 368 T (until) 203.49 368 T (\050if) 228.44 368 T (at) 242.72 368 T (all\051) 254.33 368 T (that) 273.28 368 T (Service) 294.23 368 T (Class) 333.16 368 T (is) 362.11 368 T (re-re) 373.07 368 T (gistered.) 395.53 368 T (References) 439.47 368 T (obtained) 495.72 368 T (by) 108 354 T 1 F (BeanConte) 123 354 T (xtChild) 176.09 354 T 0 F ( requestors to a service prior to its being re) 211.43 354 T (v) 416.09 354 T (ok) 421.85 354 T (ed remain v) 433.73 354 T (alid, and) 490.08 354 T (therefore the service shall remain v) 108 340 T (alid to satisfy those e) 276.65 340 T (xtant references, until all refer-) 377.8 340 T (ences to that service are released, unless in e) 108 326 T (xceptional circumstances the) 321.42 326 T 1 F (BeanConte) 463.06 326 T (xt-) 516.14 326 T (ServicePr) 108 312 T (o) 154.78 312 T (vider) 160.66 312 T (,) 183.98 312 T 0 F ( or) 186.98 312 T 1 F (BeanConte) 202.98 312 T (xtServices) 256.07 312 T 0 F (, when re) 304.72 312 T (v) 348.73 312 T (oking the service, w) 354.49 312 T (ants to) 451.02 312 T (immediately terminate service to all the current references. This immediate re) 108 298 T (v) 480.61 298 T (ocation is) 486.37 298 T (achie) 108 284 T (v) 133.02 284 T (ed by in) 138.84 284 T (v) 177.02 284 T (oking the) 182.78 284 T 1 F (BeanConte) 230.78 284 T (xtServices) 283.87 284 T 0 F (.) 335.52 284 T 1 F (r) 338.52 284 T (e) 342.74 284 T (vok) 347.89 284 T (eService) 364.43 284 T 0 F (\050\051 method with an actual) 405.07 284 T (parameter) 108 270 T (v) 158.8 270 T (alue) 164.5 270 T (of) 187.32 270 T 1 F (r) 200.14 270 T (e) 204.36 270 T (vok) 209.51 270 T (eNow) 226.04 270 T 0 F (==) 256.2 270 T 5 F (true) 272.56 270 T 0 F (.) 301.36 270 T (Subsequent) 307.19 270 T (to) 365.34 270 T (immediate) 377.5 270 T (in) 430.99 270 T (v) 439.85 270 T (alidation) 445.55 270 T (of) 490.37 270 T (current) 503.19 270 T (service references the service implementation may thro) 108 256 T (w a service speci\336c uncheck) 372.96 256 T (ed) 509.46 256 T (e) 108 242 T (xception in response to an) 113.15 242 T (y attempts to continue to use the re) 238.28 242 T (v) 405.64 242 T (ok) 411.4 242 T (ed service by service) 423.28 242 T (requestors that ha) 108 228 T (v) 192.41 228 T (e erroneously retained references to the service, ignoring the earlier) 198.23 228 T (immediate re) 108 214 T (v) 170.69 214 T (ocation noti\336cation.) 176.45 214 T 349.76 186.8 108 186.8 2 L 0.6 H 0 Z N (Note that in order to function correctly \050when dele) 108 188 T 355.7 186.8 349.76 186.8 2 L N (g) 349.76 188 T 516.01 186.8 355.7 186.8 2 L N (ating service requests\051 in a multi-) 355.7 188 T 163.16 172.8 108 172.8 2 L N (threaded en) 108 174 T 314.5 172.8 163.16 172.8 2 L N (vironment, implementations of) 163.16 174 T 367.58 172.8 314.5 172.8 2 L N 1 F (BeanConte) 314.5 174 T 416.23 172.8 367.58 172.8 2 L N (xtServices) 367.58 174 T 534.19 172.8 416.23 172.8 2 L N 0 F ( are required to synchro-) 416.23 174 T 255.32 158.8 108 158.8 2 L N (nize their implementations of;) 108 160 T 394.49 158.8 255.32 158.8 2 L N 1 F (addService\050\051, hasService\050\051, g) 255.32 160 T 426.05 158.8 394.49 158.8 2 L N (etCurr) 394.49 160 T 526.69 158.8 426.05 158.8 2 L N (entServiceClasses\050\051,) 426.05 160 T 113.88 144.8 108 144.8 2 L N (g) 108 146 T 145.44 144.8 113.88 144.8 2 L N (etCurr) 113.88 146 T 234.62 144.8 145.44 144.8 2 L N (entServiceSelector) 145.44 146 T 253.22 144.8 234.62 144.8 2 L N (s\050\051,) 234.62 146 T 259.1 144.8 253.22 144.8 2 L N (g) 253.22 146 T 317 144.8 259.1 144.8 2 L N (etService\050\051,) 259.1 146 T 321.23 144.8 317 144.8 2 L N (r) 317 146 T 397.52 144.8 321.23 144.8 2 L N (eleaseService\050\051) 321.23 146 T 414.79 144.8 397.46 144.8 2 L N 0 F (and) 397.46 146 T 417.72 144.8 414.79 144.8 2 L N 421.94 144.8 417.72 144.8 2 L N 1 F (r) 417.72 146 T 427.09 144.8 421.94 144.8 2 L N (e) 421.94 146 T 443.63 144.8 427.09 144.8 2 L N (vok) 427.09 146 T 492.26 144.8 443.63 144.8 2 L N (eService\050\051) 443.63 146 T 498.13 144.8 492.26 144.8 2 L N 522.4 144.8 498.13 144.8 2 L N 0 F (with) 498.13 146 T 540.07 144.8 522.4 144.8 2 L N (the) 522.4 146 T 161.09 130.8 108 130.8 2 L N 1 F (BeanConte) 108 132 T 225.24 130.8 161.09 130.8 2 L N (xt.globalHier) 161.09 132 T 265 130.8 225.24 130.8 2 L N (arhyLoc) 225.24 132 T 270.32 130.8 265 130.8 2 L N (k) 265 132 T 273.32 130.8 270.32 130.8 2 L N 0 F (.) 270.32 132 T (A) 108 106 T 1 F (BeanConte) 119.66 106 T (xtServicesPr) 172.75 106 T (o) 232.86 106 T (vider) 238.74 106 T 0 F ( may e) 263.4 106 T (xpose the) 295.21 106 T 1 F (BeanInfo) 343.87 106 T 0 F ( for the Service Classes it pro-) 387.86 106 T (vides implementations for by pro) 108 92 T (viding a) 267.14 92 T 1 F (BeanInfo) 309.14 92 T 0 F ( class that implements) 353.14 92 T 1 F (BeanConte) 462.47 92 T (xt-) 515.56 92 T (ServicesPr) 108 78 T (o) 159.44 78 T (viderBeanInfo.) 165.32 78 T 0 F (Thus e) 239.98 78 T (xposing an array of) 272.12 78 T 1 F (BeanInfo) 368.1 78 T 0 F (\325) 412.09 78 T (s, one for each Service) 415.43 78 T FMENDPAGE %%EndPage: "13" 14 %%Page: "14" 15 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (14) 532 42.62 T 0 12 Q (Class) 108 748 T (supported.) 136.62 748 T (Builder) 189.57 748 T (tools) 228.19 748 T (can,) 254.15 748 T (for) 276.43 748 T (e) 293.04 748 T (xample,) 298.19 748 T (use) 339.13 748 T (this) 357.75 748 T (infomation) 377.71 748 T (to) 433 748 T (pro) 444.95 748 T (vide) 460.77 748 T (application) 484.05 748 T (de) 108 734 T (v) 119.03 734 T (elopers with a palette of Servlice Classes for inclusion in an application.) 124.85 734 T 2 F (2.1.4 The r) 108 702 T (ole of a BeanContext in P) 166.12 702 T (ersistence) 295.54 702 T 0 F (Since one of the primary roles of a) 108 676 T 1 F (BeanConte) 277.3 676 T (xt) 330.38 676 T 0 F ( is to represent a logical nested structure) 339.05 676 T (of Ja) 108 662 T (v) 130.75 662 T (aBean component and) 136.45 662 T 1 F (BeanConte) 246.1 662 T (xt) 299.18 662 T 0 F (instance hierarchies, it is natural to e) 310.85 662 T (xpect that) 486.3 662 T (in) 108 648 T (man) 120.3 648 T (y) 140.79 648 T (scenarios) 149.75 648 T (that) 197.37 648 T (hierarch) 218.33 648 T (y) 257.58 648 T (should) 266.55 648 T (be) 301.52 648 T (persistent,) 315.81 648 T (i.e) 367.77 648 T (that) 382.4 648 T (the) 403.36 648 T 1 F (BeanConte) 420.99 648 T (xt) 474.08 648 T 0 F (should) 485.71 648 T (par-) 520.68 648 T (ticipate in persistence mechanisms, in particular) 108 634 T (, either) 338.15 634 T 1 F (java.io.Serializable) 374.47 634 T 0 F (or) 470.81 634 T 1 F (java.io.Externalizable) 108 620 T (\050) 216.97 620 T 0 F (If) 220.96 620 T (the) 231.92 620 T (latter) 249.56 620 T (the) 277.19 620 T 1 F (BeanConte) 294.82 620 T (xt) 347.91 620 T 0 F (is) 359.54 620 T (responsible) 370.52 620 T (for) 428.15 620 T (acting) 445.11 620 T (as) 477.41 620 T (the) 490.37 620 T (persis-) 508.01 620 T (tence container for the sub-graph of children, encoding and decoding the class informa-) 108 606 T (tion,) 108 592 T (and) 132.27 592 T (maintaining) 152.2 592 T (sub-graph) 212.14 592 T (equi) 262.73 592 T (v) 283.09 592 T (alence) 288.79 592 T (after) 322.04 592 T (deserialization,) 346.63 592 T (basically) 422.21 592 T (the) 467.48 592 T (function\050s\051) 484.74 592 T (pro) 108 578 T (vide for serialization by) 123.82 578 T 1 F (ObjectOutputStr) 241.13 578 T (eam) 320.02 578 T 0 F ( and) 340.01 578 T 1 F (ObjectInputStr) 363.34 578 T (eam) 434.22 578 T 0 F (\051.) 454.21 578 T (In particular) 108 552 T 1 F (BeanConte) 169.98 552 T (xt) 223.07 552 T 0 F (s shall persist and restore their current children that implement) 231.73 552 T (the appropriate persistence interf) 108 538 T (aces when the) 265.5 538 T (y themselv) 332.63 538 T (es are made persistent or subse-) 384.78 538 T (quently restored.) 108 524 T (As a result of the abo) 108 498 T (v) 210.13 498 T (e requirement, persistent) 215.95 498 T 1 F (BeanConte) 337.26 498 T (xtChil) 390.35 498 T 0 F (d implementations are) 419.69 498 T (required to) 108 484 T 181.66 482.8 163.32 482.8 2 L 0.6 H 0 Z N (not) 163.32 484 T (persist an) 181.66 484 T (y references to either their nesting) 227.14 484 T 1 F (BeanConte) 393.76 484 T (xt) 446.84 484 T 0 F (, or to an) 455.51 484 T (y Dele-) 497.99 484 T (g) 108 470 T (ates obtained via its nesting) 113.94 470 T 1 F (BeanConte) 249.6 470 T (xtServices) 302.69 470 T 0 F (.) 351.34 470 T 1 F (BeanConte) 108 444 T (xts) 161.09 444 T 0 F ( shall, when restoring an instance of) 174.42 444 T 1 F (BeanConte) 350.39 444 T (xtChild) 403.48 444 T 0 F ( from its persistence) 438.82 444 T (state, be required to perform the equi) 108 430 T (v) 285.32 430 T (alent of in) 291.02 430 T (v) 339.2 430 T (oking) 344.96 430 T 5 F (add\050\051) 375.3 430 T 0 F (on the ne) 411.3 430 T (wly instantiated) 454.99 430 T 1 F (BeanConte) 108 416 T (xtChild,) 161.09 416 T 0 F (, in order to notify the ne) 199.43 416 T (wly restored instance of its nesting) 318.78 416 T 1 F (BeanCon-) 488.76 416 T (te) 108 402 T (xt) 116.42 402 T 0 F (, thus allo) 125.09 402 T (wing that) 171.79 402 T 1 F (BeanConte) 219.79 402 T (xtChild) 272.88 402 T 0 F ( to fully reestablish its dependencies on its en) 308.22 402 T (vi-) 525.72 402 T (ronment.) 108 388 T (Also note that since) 108 362 T 1 F (BeanConte) 205.99 362 T (xt) 259.08 362 T 0 F ( implements) 267.74 362 T 1 F (java.beans.beanconte) 329.75 362 T (xt.BeanConte) 433.49 362 T (xtChild) 498.24 362 T 0 F (it shall obe) 108 348 T (y the persistence requirements de\336ned belo) 160.49 348 T (w for implementors of that inter-) 367.81 348 T (f) 108 334 T (ace.) 111.88 334 T 2 F (2.1.5 BeanContext with associated pr) 108 302 T (esentation hierar) 300.11 302 T (chies) 386.88 302 T 0 F (Although not required, man) 108 276 T (y) 241.14 276 T 1 F (BeanConte) 250.14 276 T (xt) 303.23 276 T 0 F (s may be associated within a presentation hier-) 311.89 276 T (arch) 108 262 T (y of) 128.59 262 T 1 F (java.awt.Container) 150.59 262 T 0 F (s and) 243.26 262 T 1 F (java.awt.Component) 271.26 262 T 0 F (s. A) 370.6 262 T 1 F (Container) 392.93 262 T 0 F ( cannot implement) 441.6 262 T 1 F (BeanConte) 108 244.8 T (xt) 161.09 244.8 T 0 F (directly) 172.75 244.8 T 0 9.6 Q (1) 209.41 249.6 T 0 12 Q ( b) 214.21 244.8 T (ut may be associated with one by implementing the) 222.97 244.8 T 1 F (BeanConte) 472.62 244.8 T (xt-) 525.71 244.8 T (Pr) 108 230.8 T (oxy) 119.46 230.8 T 0 F ( interf) 136.12 230.8 T (ace described herein.) 164.99 230.8 T 5 F (public interface BeanContextProxy {) 108 194.8 T ( BeanContext getBeanContext\050\051;) 108 178.8 T (}) 108 162.8 T 108 102 540 122 C 0 0 0 1 0 0 0 1 K 108 110 240 110 2 L 0.25 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (1.) 108 95.33 T (Unfortunately because of method name collisions between) 120 95.33 T 1 F (Component) 356.9 95.33 T 0 F ( and) 403.01 95.33 T 1 F (Collection) 422.45 95.33 T 0 F ( a) 464.12 95.33 T 1 F (Component) 473.56 95.33 T 0 F ( can-) 519.67 95.33 T (not implement) 120 83.33 T 1 F (BeanConte) 180.56 83.33 T (xt) 224.8 83.33 T 0 F ( or) 232.02 83.33 T 1 F (Collection) 245.35 83.33 T 0 F ( directly and must model the capability with a \322HasA\323 rather) 287.02 83.33 T (than an \322IsA\323 relationship.) 120 71.33 T FMENDPAGE %%EndPage: "14" 15 %%Page: "15" 16 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (15) 532 42.62 T 0 12 Q (F) 108 748 T (or instances of classes that do not \050or cannot in the case of) 114.49 748 T 1 F (Component) 396.77 748 T 0 F (or subclasses) 455.1 748 T (thereof\051) 108 734 T (directly) 148.79 734 T (implement) 188.26 734 T (the) 242.4 734 T 1 F (BeanConte) 259.87 734 T (xt) 312.96 734 T 0 F (interf) 324.43 734 T (ace,) 350.3 734 T (b) 372.1 734 T (ut) 377.86 734 T (are) 390 734 T (associated) 407.46 734 T (with) 459.59 734 T (an) 483.73 734 T (instance) 497.87 734 T (of) 108 720 T (such) 120.72 720 T (an) 145.45 720 T (implementation,) 159.51 720 T (\050via) 240.57 720 T (dele) 261.96 720 T (g) 281.77 720 T (ation\051) 287.71 720 T (such) 318.44 720 T (instances) 343.16 720 T (may) 389.88 720 T (e) 413.27 720 T (xpose) 418.42 720 T (this) 449.15 720 T (association) 469.21 720 T (by) 525.27 720 T (implementing) 108 706 T (the) 177.49 706 T 1 F (BeanConte) 194.97 706 T (xtPr) 248.05 706 T (oxy) 268.18 706 T 0 F (interf) 287.65 706 T (ace.) 313.52 706 T (By) 335.32 706 T (doing) 352.14 706 T (so,) 382.29 706 T (this) 398.78 706 T (enables) 418.93 706 T (arbitrary) 457.74 706 T (3rd) 501.87 706 T (par-) 520.68 706 T (ties, such as b) 108 692 T (uilder tools, to interrog) 174.42 692 T (ate and disco) 285.02 692 T (v) 347.5 692 T (er The) 353.32 692 T 1 F (BeanConte) 387.3 692 T (xt) 440.39 692 T 0 F ( associated with) 449.05 692 T (such) 108 678 T (objects) 132.76 678 T (for) 169.52 678 T (the) 186.28 678 T (purposes) 203.71 678 T (of) 249.14 678 T (either) 261.9 678 T (nesting) 291.99 678 T (objects) 329.43 678 T (within) 366.19 678 T (that) 399.63 678 T (associated) 420.39 678 T 1 F (BeanConte) 472.48 678 T (xt) 525.57 678 T 0 F (,) 534.23 678 T (observing changes in the membership, or obtaining services thereof.) 108 664 T (This) 108 638 T (also) 131.93 638 T (permits) 153.85 638 T (multiple) 192.45 638 T (distinct) 235.05 638 T (objects) 272.98 638 T (\050e.g:) 309.57 638 T 1 F (Container) 333.82 638 T (s) 382.37 638 T 0 F (\051) 387.04 638 T (to) 393.63 638 T (share) 405.56 638 T (a) 433.47 638 T (single) 441.39 638 T 1 F (BeanConte) 472.65 638 T (xt) 525.74 638 T 0 F (.) 534.41 638 T ([Note) 108 624 T (though) 138.03 624 T (that) 174.08 624 T (in) 194.79 624 T (this) 206.84 624 T (case) 226.89 624 T (a) 250.25 624 T (shared) 258.29 624 T 1 F (BeanConte) 292.32 624 T (xt) 345.4 624 T 0 F (shall) 356.78 624 T (not) 382.16 624 T (implement) 400.2 624 T 1 F (BeanConte) 454.25 624 T (xtCon-) 507.34 624 T (tainerPr) 108 610 T (oxy) 148.13 610 T 0 F (since) 167.59 610 T (that) 195.05 610 T (is) 215.85 610 T (a) 226.66 610 T (peer) 234.79 610 T (-to-peer) 255.21 610 T (relationship) 295.99 610 T (between) 355.45 610 T (a) 398.24 610 T (single) 406.37 610 T 1 F (BeanConte) 437.85 610 T (xt) 490.93 610 T 0 F (and) 502.4 610 T (the) 522.53 610 T 1 F (Container) 108 596 T 0 F ( implementing that interf) 156.67 596 T (ace]) 276.22 596 T (The) 108 570 T (v) 129.33 570 T (alue) 135.03 570 T (returned) 157.7 570 T (from) 200.35 570 T 1 F (g) 226.35 570 T (etBeanConte) 232.23 570 T (xt\050\051) 293.98 570 T 0 F (is) 313.31 570 T (constant) 323.98 570 T (for) 366.65 570 T (the) 383.32 570 T (lifetime) 400.65 570 T (of) 440.65 570 T (the) 453.32 570 T (implementing) 470.66 570 T (instance, that is the relationship between a) 108 556 T 1 F (BeanConte) 313.97 556 T (xtPr) 367.06 556 T (oxy) 387.18 556 T 0 F ( and it\325) 403.84 556 T (s associated) 437.17 556 T 1 F (Bean-) 497.16 556 T (Conte) 108 542 T (xt) 136.43 542 T 0 F ( is static and thus may not change for the lifetime of either participant.) 145.09 542 T (No class may implement both the) 108 516 T 1 F (BeanConte) 271.99 516 T (xt) 325.08 516 T 0 F (\050or) 336.74 516 T 1 F ( BeanConte) 350.74 516 T (xtChild) 406.82 516 T 0 F (\051 and the) 442.16 516 T 1 F (BeanCon-) 487.15 516 T (te) 108 502 T (xtPr) 116.42 502 T (oxy) 136.55 502 T 0 F ( interf) 153.2 502 T (aces, the) 182.08 502 T (y are mutually e) 223.21 502 T (xclusi) 300.68 502 T (v) 329.05 502 T (e.) 334.87 502 T (Some) 108 476 T 1 F (BeanConte) 138.28 476 T (xtPr) 191.36 476 T (oxy) 211.49 476 T 0 F (implementors) 231.08 476 T (may) 300.02 476 T (also) 323.63 476 T (implement) 345.9 476 T 1 F (java.util.Collection) 400.18 476 T 0 F (,) 492.85 476 T (or) 498.79 476 T (some) 511.73 476 T (other collection-lik) 108 462 T (e API \050e.g) 199.54 462 T 1 F (java.awt.Container) 251.52 462 T 0 F (\051, in addition to, and possibly distinct) 344.2 462 T (from, maintaining a) 108 448 T 1 F (BeanConte) 205.99 448 T (xt) 259.08 448 T 0 F ( based) 267.74 448 T 1 F (Collection) 301.07 448 T 0 F (.) 351.07 448 T (In such cases it is possible to add, or remo) 108 422 T (v) 310.46 422 T (e, elements from either the) 316.28 422 T 1 F (BeanConte) 447.59 422 T (xt,) 500.68 422 T 0 F ( via) 512.34 422 T (it\325) 108 408 T (s) 118.01 408 T 1 F (Collection) 125.48 408 T 0 F (API\325) 178.29 408 T (s,) 200.96 408 T (or) 211.44 408 T (the) 224.24 408 T 1 F (BeanConte) 241.71 408 T (xtPr) 294.8 408 T (oxy) 314.92 408 T 0 F (implementor) 334.39 408 T (using) 398.52 408 T (it\325) 427.33 408 T (s) 437.34 408 T (o) 444.82 408 T (wn) 450.52 408 T (collection-lik) 467.99 408 T (e) 531.86 408 T (API\325) 108 394 T (s \050e.g:) 130.67 394 T 1 F (public boolean java.awt.Container) 163 394 T (.add\050Component\051) 329 394 T 0 F (\051. It is implementation) 413.33 394 T (dependent) 108 380 T (whether) 160.15 380 T (or) 201.64 380 T (not) 214.47 380 T (objects) 232.64 380 T (added) 269.48 380 T (or) 300.97 380 T (remo) 313.8 380 T (v) 338.28 380 T (ed) 344.1 380 T (from) 358.26 380 T (either) 384.42 380 T (the) 414.58 380 T 1 F (BeanConte) 432.08 380 T (xt) 485.17 380 T 0 F (\325) 493.83 380 T (s) 497.17 380 T 1 F (Collec-) 504.67 380 T (tion) 108 366 T 0 F (, or the) 126.67 366 T 1 F (BeanConte) 163.33 366 T (xtPr) 216.42 366 T (oxy) 236.54 366 T 0 F ( implementor\325) 253.2 366 T (s collection are also added or remo) 320.87 366 T (v) 487.98 366 T (ed from) 493.8 366 T (the corresponding object\325) 108 352 T (s collection \050i.e: should a) 229.98 352 T 1 F (Container) 353.3 352 T (.add\050) 400.64 352 T 0 F (\051 also infer a) 425.64 352 T 1 F (BeanCon-) 488.95 352 T (te) 108 338 T (xt.add\050\051) 116.42 338 T 0 F ( and vica-v) 154.08 338 T (ersa?\051. In such situations both participants \050the implementor of) 207.22 338 T 1 F (Bean-) 511.18 338 T (Conte) 108 324 T (xtPr) 136.43 324 T (oxy) 156.55 324 T 0 F ( and the) 173.21 324 T 1 F (BeanConte) 214.2 324 T (xt) 267.29 324 T 0 F ( itself\051 are required to; 1\051 implement the same add/) 275.95 324 T (remo) 108 310 T (v) 132.48 310 T (e semantics as the other \050i.e: if) 138.3 310 T 1 F (x.add\050o\051) 287.6 310 T 0 F ( has a side ef) 327.92 310 T (fect of) 389.6 310 T 1 F (x.g) 423.59 310 T (etBeanCon-) 437.8 310 T (te) 108 296 T (xt\050\051.add\050o\051) 116.42 296 T 0 F ( then) 168.07 296 T 1 F (x.g) 194.74 296 T (etBeanConte) 208.94 296 T (xt\050\051.add\050o\051) 270.7 296 T 0 F ( should also a ha) 322.34 296 T (v) 402.1 296 T (e side ef) 407.92 296 T (fect of) 447.6 296 T 1 F (x.add\050o\051) 481.58 296 T 0 F (\051,) 521.9 296 T (and 2\051 before adding/remo) 108 282 T (ving an object to/from the other participants collection, it) 235.45 282 T (should) 108 268 T (test) 142.82 268 T (\050synchronized\051) 162.3 268 T (if) 237.09 268 T (that) 247.24 268 T (object) 268.05 268 T (is/is) 300.19 268 T (not) 322.35 268 T (a) 340.5 268 T (member) 348.64 268 T (of) 390.78 268 T (the) 403.59 268 T (other) 421.07 268 T (participants) 448.54 268 T (collec-) 507.35 268 T (tion before proceeding with the operation in question \050this is to a) 108 254 T (v) 418.73 254 T (oid in\336nite recursion) 424.49 254 T (between collection operations on both participants\051 \050i.e:) 108 240 T 1 F (x.add\050o\051) 378.62 240 T 0 F ( should not in) 418.94 240 T (v) 484.14 240 T (ok) 489.9 240 T (e) 501.78 240 T 1 F (x.g) 510.11 240 T (et-) 524.32 240 T (BeanConte) 108 226 T (xt\050\051.add\050o\051) 161.09 226 T 0 F ( if) 212.74 226 T 1 F (x.g) 226.07 226 T (etBeanConte) 240.28 226 T (xt\050\051.contains\050o\051) 302.03 226 T 0 F ( is) 376.34 226 T 5 F (true) 390.35 226 T 0 F (and vica-v) 426.35 226 T (ersa\051.) 476.48 226 T (It is important to note that if an object that implements) 108 200 T 1 F (BeanConte) 373 200 T (xtPr) 426.08 200 T (oxy) 446.21 200 T 0 F ( is added to , or) 462.86 200 T (remo) 108 186 T (v) 132.48 186 T (ed from, a) 138.3 186 T 1 F (BeanConte) 190.28 186 T (xt) 243.37 186 T 0 F (, that in addition to the operation performed on that object,) 252.04 186 T (the same operation should be performed on the) 108 172 T 1 F (BeanConte) 336.62 172 T (xt) 389.71 172 T 0 F (returned from) 401.38 172 T 1 F (BeanConte) 470.69 172 T (xt-) 523.78 172 T (Pr) 108 158 T (oxy) 119.46 158 T (.g) 135.46 158 T (etBeanConte) 144.34 158 T (xt\050\051) 206.09 158 T 0 F (. That is an implementor of) 222.74 158 T 1 F (BeanConte) 356.4 158 T (xtPr) 409.49 158 T (oxy) 429.61 158 T 0 F ( shall be treated as) 446.27 158 T (though) 108 144 T (it) 144.24 144 T (directly) 153.81 144 T (implemented) 193.37 144 T 1 F (BeanConte) 258.93 144 T (xt) 312.02 144 T 0 F (by) 323.58 144 T (an) 338.48 144 T (y) 349.63 144 T (nesting) 358.53 144 T 1 F (BeanConte) 396.1 144 T (xt) 449.18 144 T 0 F (.) 457.85 144 T (\050and) 463.75 144 T (vica-v) 487.97 144 T (ersa) 517.78 144 T (if) 108 130 T (the) 118.02 130 T (operation) 135.36 130 T (is) 183.37 130 T (applied) 194.06 130 T (to) 232.07 130 T (the) 244.09 130 T 1 F (BeanConte) 261.44 130 T (xt) 314.53 130 T 0 F (its) 325.88 130 T (shall) 339.9 130 T (also) 365.25 130 T (be) 387.27 130 T (applied) 401.28 130 T (to) 439.3 130 T (the) 451.32 130 T (corresponding) 468.66 130 T 1 F (BeanConte) 108 116 T (xtPr) 161.09 116 T (oxy) 181.21 116 T 0 F (\051) 197.87 116 T ( The follo) 108 90 T (wing interf) 155.03 90 T (ace is de\336ned to allo) 207.9 90 T (w a) 306.25 90 T 1 F (BeanConte) 326.24 90 T (xt) 379.33 90 T 0 F ( to e) 388 90 T (xpose a reference to an) 408.48 90 T (associated) 108 76 T 1 F (Container) 160.32 76 T 0 F ( to enable it\325) 208.99 76 T (s) 268.66 76 T 1 F (BeanConte) 276.32 76 T (xtChild) 329.41 76 T 0 F ( members to add, or remo) 364.75 76 T (v) 487.88 76 T (e, their) 493.7 76 T FMENDPAGE %%EndPage: "15" 16 %%Page: "16" 17 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (16) 532 42.62 T 0 12 Q (associated) 108 748 T 1 F (Component) 160.32 748 T 0 F ( objects to/from that) 215.65 748 T 1 F (Container) 315.65 748 T 0 F (or to inspect) 367.32 748 T (some state on the) 429.65 748 T 1 F ( Con-) 512.64 748 T (tainer) 108 734 T 0 F (.) 136.01 734 T 5 F (public interface BeanContextContainerProxy {) 108 714 T (Container getContainer\050\051) 144 698 T (}) 108 682 T 0 F (When) 108 656 T (a) 139.57 656 T 1 F (BeanConte) 147.81 656 T (xtChild) 200.9 656 T 0 F (with) 239.15 656 T (an) 263.4 656 T (associated) 277.64 656 T 1 F (Component) 329.87 656 T 0 F (is) 388.11 656 T (added) 399.03 656 T (to) 430.6 656 T (a) 442.85 656 T 1 F (BeanConte) 451.09 656 T (xt) 504.17 656 T 0 F (with) 515.75 656 T (an associated) 108 642 T 1 F (Container) 174.65 642 T 0 F ( there are three models of interaction that can occur in relation to) 223.32 642 T (the nesting of the) 108 628 T 1 F (Component) 193.99 628 T 0 F ( in the) 249.32 628 T 1 F (Container) 282.32 628 T 0 F ( as a result:) 331 628 T (1.) 108 608 T ( If the associated) 121.75 608 T 1 F (Component) 205.72 608 T 0 F ( w) 261.05 608 T (as added to the associated) 272.6 608 T 1 F (Container) 399.57 608 T 0 F ( via a) 448.24 608 T 1 F (Container) 477.23 608 T 0 F (API, then the nesting of the) 121.75 594 T 1 F (BeanConte) 256.73 594 T (xtChild) 309.82 594 T 0 F ( in the) 345.16 594 T 1 F (BeanConte) 378.16 594 T (xt) 431.25 594 T 0 F ( is a side ef) 439.91 594 T (fect of) 493.6 594 T (that and no further action is required.) 121.75 580 T (2.) 108 560 T (If the) 121.75 560 T 1 F (Component) 150.4 560 T 0 F ( and) 205.73 560 T 1 F (Container) 229.06 560 T 0 F ( are not nested then the nesting) 277.73 560 T 1 F (BeanConte) 429.38 560 T (xt) 482.46 560 T 0 F ( may as a) 491.13 560 T (side ef) 121.75 546 T (fect cause the) 153.1 546 T 1 F (Component) 221.4 546 T 0 F ( associated with the) 276.74 546 T 1 F (BeanConte) 374.06 546 T (xtChild) 427.14 546 T 0 F ( to be added to) 462.48 546 T (it\325) 121.75 532 T (s associated) 131.75 532 T 1 F (Container) 191.74 532 T 0 F (.) 239.75 532 T (OR) 121.75 514 T (3.) 108 494 T (If) 121.75 494 T (the) 132.24 494 T 1 F (Component) 149.41 494 T 0 F (and) 207.24 494 T 1 F (Container) 227.07 494 T 0 F (are) 278.25 494 T (not) 295.4 494 T (nested) 313.24 494 T (then) 346.4 494 T (the) 369.57 494 T 1 F (BeanConte) 386.74 494 T (xtChild) 439.83 494 T 0 F (being) 477.67 494 T (nested) 506.84 494 T (may as a side ef) 121.75 480 T (fect may cause it\325) 198.09 480 T (s) 282.4 480 T 1 F (Component) 290.07 480 T 0 F ( to be associated with the) 345.4 480 T 1 F (Container) 469.39 480 T 0 F (associated with the nesting) 121.75 466 T 1 F (BeanConte) 253.73 466 T (xt) 306.82 466 T 0 F (.) 315.48 466 T (Thus, for greatest interoperability a) 108 440 T 1 F (BeanConte) 280.63 440 T (xtChild) 333.72 440 T 0 F ( shall al) 369.06 440 T (w) 406.27 440 T (ays check if its) 414.82 440 T 1 F (Com-) 489.47 440 T (poent) 108 426 T 0 F (\325) 134.66 426 T (s) 138 426 T (parent) 145.46 426 T (is) 178.24 426 T (the) 189.03 426 T 1 F (BeanConte) 206.48 426 T (xt) 259.57 426 T 0 F (Container) 271.02 426 T (,) 317.87 426 T (and) 323.66 426 T (if) 343.78 426 T (it) 353.9 426 T (is) 363.36 426 T (not,) 374.16 426 T (then) 395.28 426 T (it) 418.74 426 T (may) 428.2 426 T (add) 451.65 426 T (itself) 471.77 426 T (if) 498.56 426 T (appro-) 508.68 426 T (priate. Thus a) 108 412 T 1 F (BeanConte) 176.65 412 T (xtChild) 229.74 412 T 0 F ( may function correctly under all scenarios.) 265.08 412 T (The) 108 386 T 1 F (BeanConte) 129.6 386 T (xtChild) 182.69 386 T 0 F (is) 220.97 386 T (responsible) 231.92 386 T (for) 289.52 386 T (initially) 306.46 386 T (causing) 346.74 386 T (itself) 386.35 386 T (to) 413.29 386 T (eligible) 425.57 386 T (to) 464.51 386 T (be) 476.79 386 T (displayed) 491.06 386 T (via an in) 108 372 T (v) 148.85 372 T (ocation of) 154.61 372 T 1 F (show) 205.93 372 T 0 F (\050\051 [note that the) 230.6 372 T 1 F (BeanConte) 307.92 372 T (xtChild) 361.01 372 T 0 F ( may also subsequently) 396.35 372 T (repeatedly) 108 358 T 1 F (hide\050\051) 160.98 358 T 0 F (and) 192.64 358 T 1 F ( show\050\051) 209.96 358 T 0 F (itself].) 248.63 358 T (The nesting) 108 332 T 1 F (BeanConte) 167.33 332 T (xt) 220.42 332 T 0 F (, or its associated) 229.08 332 T 1 F (Container) 314.74 332 T 0 F (, may subsequently) 362.93 332 T 1 F (hide) 458.26 332 T 0 F (\050\051 or) 478.92 332 T 1 F (show) 502.91 332 T 0 F (\050\051) 527.58 332 T (the) 108 318 T 1 F (BeanConte) 125.35 318 T (xtChild) 178.44 318 T 0 F (\325) 213.78 318 T (s) 217.12 318 T 1 F (Component) 224.48 318 T 0 F (arbitrarily) 282.5 318 T (,) 329.71 318 T (b) 335.4 318 T (ut) 341.16 318 T (it) 353.18 318 T (is) 362.54 318 T (strongly) 373.24 318 T (recommended) 415.26 318 T (that) 485.93 318 T (it) 506.62 318 T (treat) 515.99 318 T (that) 108 304 T 1 F (Component) 128.75 304 T 0 F (as) 186.83 304 T (immutable) 199.57 304 T (in) 253.66 304 T (all) 265.74 304 T (other) 280.49 304 T (respects) 307.9 304 T (with) 349.3 304 T (the) 373.39 304 T (e) 390.8 304 T (xception) 395.95 304 T (of) 440.03 304 T (re) 452.77 304 T (gistering) 461.92 304 T 1 F (Listen-) 506.66 304 T (er) 108 290 T (s) 117.88 290 T 0 F ( to obtain e) 122.54 290 T (v) 175.91 290 T (ent noti\336cations, or where other) 181.73 290 T 1 F (Component) 337.7 290 T 0 F (/) 393.04 290 T 1 F (Container) 396.37 290 T 0 F ( speci\336c protocols) 445.04 290 T (permit) 108 276 T (or) 142.04 276 T (require) 154.74 276 T (the) 191.43 276 T 1 F (Container) 208.79 276 T 0 F (to) 260.17 276 T (alter) 272.21 276 T (the) 296.24 276 T (state) 313.61 276 T (of) 338.31 276 T (its) 351.01 276 T 1 F (Component) 365.06 276 T 0 F (containees.) 423.09 276 T (An) 479.45 276 T (e) 496.82 276 T (xample) 501.97 276 T (of such a permitted interaction w) 108 262 T (ould be where a property such as) 266.18 262 T 1 F (bac) 427.14 262 T (kgr) 444.23 262 T (ound) 459.68 262 T 0 F ( or) 483.68 262 T 1 F (for) 499.68 262 T (e-) 513.24 262 T (gr) 108 248 T (ound) 118.13 248 T 0 F ( color were propag) 142.13 248 T (ated from) 232.37 248 T 1 F (Container) 281.69 248 T 0 F ( to) 330.36 248 T 1 F (Component) 345.7 248 T 0 F (.) 401.03 248 T (Once a) 108 222 T 1 F (BeanConte) 144.65 222 T (xtChild) 197.74 222 T 0 F ( has been un-nested from it\325) 233.08 222 T (s) 366.72 222 T 1 F (BeanConte) 374.39 222 T (xt) 427.48 222 T 0 F (, it\325) 436.14 222 T (s associated) 452.15 222 T 1 F (Com-) 512.14 222 T (ponent) 108 208 T 0 F (\050if) 143.49 208 T (an) 157.64 208 T (y\051) 168.78 208 T (shall) 181.6 208 T (be) 207.09 208 T (remo) 221.24 208 T (v) 245.72 208 T (ed) 251.54 208 T (from) 265.69 208 T (that) 291.84 208 T 1 F (BeanConte) 312.67 208 T (xt) 365.75 208 T 0 F (\325) 374.42 208 T (s) 377.75 208 T 1 F (Container) 385.24 208 T 0 F (as) 436.74 208 T (a) 449.56 208 T (side) 457.71 208 T (ef) 479.86 208 T (fect) 488.89 208 T (of) 509.7 208 T (the) 522.51 208 T (remo) 108 194 T (v) 132.48 194 T (al operation, this is the responsibility of the) 138.18 194 T 1 F (BeanConte) 349.18 194 T (xt) 402.26 194 T 0 F ( \050typically if the) 410.93 194 T 1 F (BeanCon-) 490.92 194 T (te) 108 180 T (xtChild) 116.42 180 T 0 F ( has been mo) 151.76 180 T (v) 214.57 180 T (ed to another) 220.39 180 T 1 F (BeanConte) 286.04 180 T (xt) 339.13 180 T 0 F ( with an associated) 347.8 180 T 1 F (Container) 441.78 180 T 0 F ( via an) 490.45 180 T (in) 108 166 T (v) 116.86 166 T (ocation of it\325) 122.62 166 T (s) 183.95 166 T 1 F (setBeanConte) 191.62 166 T (xt\050\051) 258.04 166 T 0 F ( method, the) 274.69 166 T 1 F (Component) 337.36 166 T 0 F ( will already ha) 392.69 166 T (v) 466.76 166 T (e been re-) 472.58 166 T (parented as a side ef) 108 152 T (fect of that operation by the time the original) 205 152 T 1 F (BeanConte) 423.3 152 T (xt) 476.39 152 T 0 F ( is noti\336ed) 485.05 152 T (of the change via a) 108 138 T 1 F (Pr) 201.64 138 T (opertyChang) 213.1 138 T (eEvent) 275.64 138 T 0 F ( from the child, ho) 308.29 138 T (we) 396.98 138 T (v) 410.68 138 T (er the check should be) 416.5 138 T (made and the) 108 124 T 1 F (Component) 174.98 124 T 0 F ( remo) 230.32 124 T (v) 257.8 124 T (ed if it has not already occurred\051.) 263.62 124 T (T) 108 98 T (o) 114.37 98 T (a) 123.11 98 T (v) 128.2 98 T (oid) 133.96 98 T (in\336nite) 152.04 98 T (recursion,) 188.79 98 T (both) 239.18 98 T (a) 263.26 98 T 1 F (BeanConte) 271.33 98 T (xt) 324.42 98 T 0 F (and) 335.82 98 T (a) 355.89 98 T 1 F (BeanConte) 363.96 98 T (xtChild) 417.05 98 T 0 F (that) 455.13 98 T (also) 475.87 98 T (are) 497.95 98 T (asso-) 515.34 98 T (ciated with a) 108 84 T 1 F (Container) 172.32 84 T 0 F ( and) 220.99 84 T 1 F (Component) 244.32 84 T 0 F ( nesting relationship should a) 299.65 84 T (v) 440.08 84 T (oid undoing an) 445.84 84 T (y) 517.66 84 T (changes applied to the) 108 70 T 1 F (Component) 217.98 70 T 0 F ( by the other party in the relationship. In general the) 273.31 70 T FMENDPAGE %%EndPage: "16" 17 %%Page: "17" 18 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (17) 532 42.62 T 1 12 Q (BeanConte) 108 748 T (xt) 161.09 748 T 0 F ( is responsible for the appearance, visibility and relati) 169.75 748 T (v) 426.41 748 T (e layout of the) 432.23 748 T 1 F (Bean-) 504.22 748 T (Conte) 108 734 T (xtChild) 136.43 734 T 0 F (\325) 171.77 734 T (s) 175.1 734 T 1 F (Component,) 182.45 734 T 0 F (and) 243.47 734 T (the) 263.48 734 T 1 F (BeanConte) 280.82 734 T (xtChild) 333.91 734 T 0 F (is) 371.93 734 T (responsible) 382.62 734 T (for) 439.96 734 T (the) 456.64 734 T 1 F (Component) 473.98 734 T 0 F (\325) 529.31 734 T (s) 532.65 734 T (state and content pertaining to the application functionality it is implementing.) 108 720 T (The v) 108 694 T (alue returned from the) 135.36 694 T 1 F (g) 245.33 694 T (etContainer\050\051) 251.21 694 T 0 F (method is constant for the lifetime of the) 319.54 694 T (implementing) 108 680 T 1 F (BeanConte) 177.67 680 T (xt,) 230.76 680 T 0 F (that is the relationship between a) 245.42 680 T 1 F (BeanConte) 406.07 680 T (xt) 459.16 680 T 0 F ( and a) 467.82 680 T 1 F (Con-) 499.48 680 T (tainer) 108 666 T 0 F ( is static for the lifetime of both participants.) 136.67 666 T (In addition the follo) 108 640 T (wing interf) 203.36 640 T (ace is also de\336ned:) 256.24 640 T 5 F (public interface BeanContextChildComponentProxy {) 108 620 T ( Component getComponent\050\051;) 108 604 T (}) 108 588 T 0 F (A) 108 562 T 1 F (BeanConte) 119.66 562 T (xt) 172.75 562 T 0 F ( or a) 181.42 562 T 1 F (BeanConte) 205.74 562 T (xtChild) 258.83 562 T 0 F ( may implement this interf) 294.17 562 T (ace to e) 421.38 562 T (xpose the GUI) 457.85 562 T 1 F (Component) 108 548 T 0 F ( that it is associated with to it\325) 163.33 548 T (s nesting) 307.01 548 T 1 F (BeanConte) 352.34 548 T (xt) 405.43 548 T 0 F (. A) 414.1 548 T 1 F (BeanConte) 431.76 548 T (xt) 484.85 548 T 0 F ( may use) 493.51 548 T (this method to establish the relationship between references to instances of) 108 534 T 1 F (Component) 469.61 534 T 0 F (and) 108 520 T 1 F (BeanConte) 128.33 520 T (xtChild) 181.42 520 T 0 F ( that are kno) 216.76 520 T (wn to it, where a) 276.11 520 T 1 F (BeanConte) 359.42 520 T (xtChild) 412.51 520 T 0 F ( and) 447.85 520 T 1 F (Component) 471.18 520 T 0 F (are not implemented by the same object instance \050that is the) 108 506 T 1 F (BeanConte) 398.29 506 T (xtChild) 451.38 506 T 0 F ( dele) 486.72 506 T (g) 509.53 506 T (ates) 515.47 506 T (its) 108 492 T 1 F (Component) 122.34 492 T 0 F ( implementation to a distinct object rather than inheriting from) 177.67 492 T 1 F (Compo-) 480.98 492 T (nent) 108 478 T 0 F (]. A) 128.66 478 T 1 F (BeanConte) 150.32 478 T (xt) 203.41 478 T 0 F ( may interrog) 212.08 478 T (ate the) 276.67 478 T 1 F (Component) 311.33 478 T 0 F ( reference it obtains from a nested) 366.66 478 T 1 F (BeanConte) 108 464 T (xtChild) 161.09 464 T 0 F (in) 199.16 464 T (order) 211.23 464 T (to) 239.28 464 T (determine) 251.35 464 T (its) 302.07 464 T (state,) 316.14 464 T (and) 343.87 464 T (it) 363.93 464 T (may) 373.34 464 T (also) 396.73 464 T (re) 418.8 464 T (gister) 427.94 464 T 1 F (Listener) 457.34 464 T (s) 496.55 464 T 0 F (for) 503.95 464 T (par-) 520.68 464 T (ticular e) 108 450 T (v) 146.69 450 T (ents, ho) 152.51 450 T (we) 189.54 450 T (v) 203.23 450 T (er it is strongly recommended that the) 209.05 450 T 1 F (BeanConte) 394.03 450 T (xt) 447.12 450 T 0 F ( treat the refer-) 455.78 450 T (ence as generally immutable to a) 108 436 T (v) 265.39 436 T (oid changing the) 271.15 436 T 1 F (Component) 354.14 436 T 0 F ( state.) 409.48 436 T (The v) 108 410 T (alue returned from the) 135.36 410 T 1 F (g) 245.33 410 T (etComponent\050\051) 251.21 410 T 0 F ( method is a constant for the lifetime of that) 323.2 410 T 1 F (BeanConte) 108 396 T (xtChild) 161.09 396 T 0 F (.) 196.43 396 T (In the situation where a) 108 370 T 1 F (BeanConte) 223.64 370 T (xt) 276.73 370 T 0 F ( has an associated) 285.4 370 T 1 F (Container) 374.04 370 T (,) 421.38 370 T 0 F ( b) 424.38 370 T (ut does not wish to) 433.14 370 T (e) 108 356 T (xpose that) 113.15 356 T 1 F (Container) 165.14 356 T 0 F ( by implementing the) 213.82 356 T 1 F (BeanConte) 319.15 356 T (xtContainerPr) 372.24 356 T (oxy) 441.04 356 T 0 F ( interf) 457.69 356 T (ace, b) 486.56 356 T (ut) 514.31 356 T (wishes to handle the nesting of an arbitrary) 108 342 T 1 F (BeanConte) 317.96 342 T (xtChild) 371.05 342 T 0 F (\325) 406.39 342 T (s associated) 409.73 342 T 1 F (Component) 469.72 342 T 0 F (\050e) 108 328 T (xposed by the) 117.14 328 T 1 F (BeanConte) 186.8 328 T (xtChild) 239.89 328 T 0 F ( either implementing the) 275.23 328 T 1 F (BeanConte) 395.89 328 T (xtChildCompo-) 448.98 328 T (nentPr) 108 314 T (oxy) 140.12 314 T 0 F ( interf) 156.78 314 T (ace or as direct subclass of) 185.65 314 T 1 F (Component) 316.94 314 T 0 F (\051 the) 372.28 314 T 1 F (BeanConte) 396.94 314 T (xt) 450.02 314 T 0 F ( is permitted to) 458.69 314 T (add/remo) 108 300 T (v) 153.14 300 T (e that) 158.96 300 T 1 F (Component) 188.29 300 T 0 F ( to/from its associated) 243.62 300 T 1 F (Container) 352.28 300 T 0 F (.In such cases the) 400.3 300 T 1 F (BeanCon-) 487.27 300 T (te) 108 286 T (xtChild) 116.42 286 T 0 F ( and it\325) 151.76 286 T (s associated) 185.1 286 T 1 F (Component) 245.09 286 T 0 F ( implementation shall not interfere with this) 300.42 286 T (action.) 108 272 T (If a class implements both) 108 246 T 1 F (BeanConte) 236.99 246 T (xtChildComponentPr) 290.08 246 T (oxy) 392.21 246 T 0 F ( and) 408.86 246 T 1 F (BeanConte) 432.19 246 T (xtContain-) 485.28 246 T (erPr) 108 232 T (oxy) 129.46 232 T 0 F ( then the object returned by both) 146.11 232 T 1 F (g) 305.09 232 T (etComponent\050\051) 310.97 232 T 0 F ( and) 382.96 232 T 1 F (g) 406.28 232 T (etContainer\050\051) 412.16 232 T 0 F (shall be the) 480.49 232 T (same object.) 108 218 T 2 14 Q (2.2 interface ja) 108 180.93 T (v) 200.18 180.93 T (a.beans.beancontext.BeanContextChild) 207.04 180.93 T 2 11.2 Q (1) 442.32 186.53 T 0 12 Q (Simple) 108 154.27 T (Ja) 144.74 154.27 T (v) 154.49 154.27 T (aBeans) 160.19 154.27 T (that) 197.58 154.27 T (do) 218.31 154.27 T (not) 233.04 154.27 T (require) 251.11 154.27 T (an) 287.82 154.27 T (y) 298.97 154.27 T (support) 307.7 154.27 T (or) 346.43 154.27 T (kno) 359.15 154.27 T (wledge) 376.85 154.27 T (of) 414.24 154.27 T (their) 426.97 154.27 T (en) 451.69 154.27 T (vironment) 462.54 154.27 T (shall) 514.6 154.27 T (continue to function as the) 108 140.27 T (y do today) 235.14 140.27 T (. Ho) 285.02 140.27 T (we) 305.39 140.27 T (v) 319.08 140.27 T (er both Ja) 324.9 140.27 T (v) 371.32 140.27 T (aBeans that wish to utilize their) 377.02 140.27 T (containing) 108 126.27 T 1 F (BeanConte) 161.66 126.27 T (xt) 214.75 126.27 T 0 F (, and) 223.42 126.27 T 1 F (BeanConte) 249.74 126.27 T (xt) 302.83 126.27 T 0 F (s that may be nested, require to implement a) 311.5 126.27 T 108 78 540 98 C 0 0 0 1 0 0 0 1 K 108 86 240 86 2 L 0.25 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (1.) 108 71.33 T (I don\325) 120 71.33 T (t lik) 143.98 71.33 T (e this name much b) 159.72 71.33 T (ut I am struggling for a better alternati) 237.29 71.33 T (v) 390.07 71.33 T (e! \050we are stuck with it\051) 394.92 71.33 T FMENDPAGE %%EndPage: "17" 18 %%Page: "18" 19 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (18) 532 42.62 T 0 12 Q (mechanism that enables the propag) 108 748 T (ation of the reference to the enclosing) 276.58 748 T 1 F (BeanConte) 460.86 748 T (xt) 513.95 748 T 0 F (through to cognizant Ja) 108 734 T (v) 220.08 734 T (aBeans and nested) 225.78 734 T 1 F (BeanConte) 317.42 734 T (xt) 370.51 734 T 0 F (s, the interf) 379.18 734 T (ace proposed is:) 433.38 734 T 5 F (public interface java.beans.beancontext.BeanContextChild {) 108 698 T (void setBeanContext\050BeanContext bc\051) 144 682 T (throws PropertyVetoException;) 252 666 T (BeanContext getBeanContext\050\051;) 144 634 T (void addPropertyChangeListener) 144 602 T (\050String name, PropertyChangeListener pcl\051;) 180 586 T ( void removePropertyChangeListener) 108 554 T (\050String name, PropertyChangeListener pcl\051;) 180 538 T (void addVetoableChangeListener) 144 506 T (\050String name, VetoableChangeListener pcl\051;) 180 490 T ( void removeVetoableChangeListener) 108 458 T (\050String name, VetoableChangeListener pcl\051;) 180 442 T (}) 108 410 T 0 F (The e) 108 384 T (xpected usage is that some 3rd party shall in) 134.81 384 T (v) 346.97 384 T (ok) 352.73 384 T (e one of the appropriate methods) 364.61 384 T (de\336ned on) 108 370 T 1 F (BeanConte) 161.33 370 T (xt) 214.42 370 T 0 F ( \050by virtue of its inheritance from) 223.08 370 T 1 F (Collection) 386.05 370 T 0 F (\051 in order to add a) 436.06 370 T 1 F (BeanConte) 108 356 T (xtChild) 161.09 356 T 0 F ( to the membership of the tar) 196.43 356 T (get) 334.86 356 T 1 F (BeanConte) 352.52 356 T (xt) 405.61 356 T 0 F (. As a consequence the) 414.28 356 T 1 F (BeanConte) 108 342 T (xt) 161.09 342 T 0 F ( shall attempt to set the) 169.75 342 T 1 F (BeanConte) 283.75 342 T (xtChild) 336.84 342 T 0 F (\325) 372.18 342 T (s \322beanConte) 375.52 342 T (xt\323 property by) 439.66 342 T (in) 108 328 T (v) 116.86 328 T (oking) 122.62 328 T (its) 152.76 328 T (setter) 166.9 328 T (method,) 195.69 328 T 1 F (setBeanConte) 237.49 328 T (xt) 303.91 328 T 0 F (\050\051.) 312.58 328 T (Only) 326.37 328 T (a) 353.17 328 T 1 F (BeanConte) 361.31 328 T (xt) 414.39 328 T 0 F (may) 425.86 328 T (call) 449.33 328 T (a) 469.46 328 T 1 F (BeanConte) 477.59 328 T (x-) 530.68 328 T (tChild) 108 314 T 0 F (\325) 138.01 314 T (s) 141.35 314 T 1 F (setBeanConte) 148.9 314 T (xt) 215.32 314 T 0 F (\050\051) 223.99 314 T (method,) 234.86 314 T (since) 276.75 314 T (this) 304.29 314 T (is) 324.52 314 T (the) 335.4 314 T (mechanism) 352.95 314 T (that) 410.5 314 T (a) 431.38 314 T 1 F (BeanConte) 439.59 314 T (xt) 492.68 314 T 0 F (uses) 504.23 314 T (to) 527.78 314 T (notify a child that it is no) 108 300 T (w has a ne) 228.37 300 T (w) 278.39 300 T 1 F (BeanConte) 290.05 300 T (xt) 343.14 300 T 0 F ( v) 351.8 300 T (alue. Since this property is not) 360.5 300 T (directly settable or customizable by a user in the conte) 108 286 T (xt of an application construction) 368.77 286 T (tool the) 108 272 T 1 F (BeanInfo) 147.34 272 T 0 F ( for a) 191.33 272 T 1 F (BeanConte) 219.65 272 T (xtChild) 272.74 272 T 0 F ( should set the hidden state for this property in) 308.08 272 T (order for b) 108 258 T (uilder tools to a) 159.07 258 T (v) 233.83 258 T (oid presenting the property to the user for customization.) 239.59 258 T (A) 108 232 T 1 F (BeanConte) 119.66 232 T (xtChild) 172.75 232 T 0 F ( object may thro) 208.09 232 T (w a) 286.12 232 T 1 F (Pr) 306.11 232 T (opertyV) 317.57 232 T (etoException) 354.23 232 T 0 F (, to notify the nesting) 416.88 232 T 1 F (BeanConte) 108 218 T (xt) 161.09 218 T 0 F ( that it is unable to function/be nested within that particular) 169.75 218 T 1 F (BeanConte) 456.73 218 T (xt) 509.82 218 T 0 F (.) 518.48 218 T (Such a v) 108 204 T (eto shall be interpreted by a) 149.15 204 T 1 F (BeanConte) 285.12 204 T (xt) 338.21 204 T 0 F ( as an indication that the) 346.87 204 T 1 F (BeanConte) 466.86 204 T (xt-) 519.95 204 T (Child) 108 190 T 0 F ( has determined that it is unable to function in that particular) 134.68 190 T 1 F (BeanConte) 427.98 190 T (xt) 481.07 190 T 0 F ( and is) 489.73 190 T (\336nal.) 108 176 T (During the un-nesting of a) 108 150 T 1 F (BeanConte) 237.65 150 T (xtChild) 290.74 150 T 0 F ( from its) 326.08 150 T 1 F (BeanConte) 369.74 150 T (xt) 422.83 150 T 0 F (, it is possible for the) 431.5 150 T (child, or a 3rd party listening to the child\325) 108 136 T (s \322beanConte) 307.66 136 T (xt\323 property for) 371.8 136 T 1 F (Pr) 450.11 136 T (opertyV) 461.57 136 T (etoEv-) 498.23 136 T (ents) 108 122 T 0 F (, to thro) 127.33 122 T (w a) 164.7 122 T 1 F (Pr) 184.69 122 T (opertyV) 196.15 122 T (etoException) 232.81 122 T 0 F ( to notify the caller that it is not in a state to be un-) 295.46 122 T (nested. In order to bound this interaction a) 108 108 T 1 F (BeanConte) 314.3 108 T (xtChild) 367.39 108 T 0 F (, or 3rd party) 402.73 108 T (, may v) 464.6 108 T (eto the) 500.09 108 T (initial un-nesting noti\336cation, b) 108 94 T (ut may not v) 259.1 94 T (eto an) 319.26 94 T (y subsequent noti\336cations, and must,) 348.07 94 T FMENDPAGE %%EndPage: "18" 19 %%Page: "19" 20 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (19) 532 42.62 T 0 12 Q (upon) 108 748 T (receipt) 134.74 748 T (of) 170.14 748 T (such) 182.88 748 T (noti\336cations,) 207.62 748 T (amend) 272.7 748 T (its) 307.43 748 T (state) 321.52 748 T (accordingly) 346.26 748 T (to) 405.65 748 T (prepare) 417.73 748 T (itself) 456.45 748 T (to) 483.19 748 T (be) 495.27 748 T (subse-) 509.34 748 T (quently un-nested.) 108 734 T ( Note that classes that implement this interf) 108 708 T (ace, also act as an Ev) 316.2 708 T (ent Source for \050sub\051inter-) 417.98 708 T (f) 108 694 T (ace\050s\051 of) 111.88 694 T 1 F (java.beans.Pr) 156.52 694 T (opertyChang) 222.64 694 T (eListener) 285.18 694 T 0 F (, and are required to update their state) 329.36 694 T (accordingly and subsequently \336re the appropriate) 108 680 T 1 F (java.beans.Pr) 347.95 680 T (opertyChang) 414.07 680 T (eEvent) 476.62 680 T 0 F ( with) 509.27 680 T 1 F (pr) 108 666 T (opertyName) 118.13 666 T 0 F ( = \322beanConte) 176.78 666 T (xt\323,) 246.02 666 T 1 F (oldV) 266.69 666 T (alue) 288.02 666 T 0 F ( = the reference to the pre) 308.69 666 T (vious nesting) 431.77 666 T 1 F (Bean-) 498.44 666 T (Conte) 108 652 T (xt) 136.43 652 T 0 F (, and) 145.09 652 T 1 F (ne) 171.42 652 T (wV) 182.57 652 T (alue) 196.57 652 T 0 F ( = the reference to the ne) 217.24 652 T (w nesting) 336.32 652 T 1 F (BeanConte) 385.66 652 T (xt,) 438.74 652 T 0 F ( to notify an) 450.41 652 T (y Lis-) 508.56 652 T (teners that its nesting) 108 638 T 1 F (BeanConte) 212.66 638 T (xt) 265.75 638 T 0 F ( has changed v) 274.42 638 T (alue.) 345.1 638 T 1 F (BeanConte) 108 612 T (xtChild) 161.09 612 T 0 F ( instances, or nested) 196.43 612 T 1 F (BeanConte) 296.08 612 T (xt) 349.16 612 T 0 F (s in the process of terminating them-) 357.83 612 T (selv) 108 598 T (es, shall in) 127.15 598 T (v) 177.67 598 T (ok) 183.43 598 T (e the) 195.31 598 T 1 F (r) 221.3 598 T (emo) 225.53 598 T (ve\050\051) 245.4 598 T 0 F (method on their nesting) 267.05 598 T 1 F (BeanConte) 383.71 598 T (xt) 436.8 598 T 0 F ( in order to with-) 445.46 598 T (dra) 108 584 T (w themselv) 123.14 584 T (es from the hierarch) 177.96 584 T (y prior to termination.) 274.2 584 T 2 F (2.2.1 Important P) 108 552 T (ersistence considerations) 201.42 552 T 0 F (Instances of) 108 526 T 1 F (BeanConte) 168.65 526 T (xtChild) 221.74 526 T 0 F ( nested within an) 257.08 526 T 1 F (BeanConte) 341.74 526 T (xt,) 394.82 526 T 0 F ( will typically de\336ne \336elds) 406.49 526 T (or instance v) 108 512 T (ariables that will contain references to their nesting) 169.02 512 T 1 F (BeanConte) 417.64 512 T (xt) 470.72 512 T 0 F ( instance,) 479.39 512 T (and) 108 498 T (possibly) 127.91 498 T (services) 170.51 498 T (obtained) 211.74 498 T (from) 255.66 498 T (that) 281.57 498 T 1 F (BeanConte) 302.16 498 T (xtServices) 355.24 498 T 0 F (instance) 406.48 498 T (via) 448.39 498 T (its) 465.64 498 T 1 F (g) 479.56 498 T (etService\050\051) 485.44 498 T 0 F (method.) 108 484 T (In order to ensure that the act of making such an instance persistent does not erroneously) 108 458 T (persist) 108 444 T (objects) 142.22 444 T (from) 179.1 444 T (the) 205.32 444 T (instances) 222.87 444 T (nesting) 269.75 444 T (en) 307.3 444 T (vironment,) 318.15 444 T (such) 373.37 444 T (instances) 398.26 444 T (shall) 445.13 444 T (be) 470.69 444 T (required) 484.9 444 T (to) 527.78 444 T (de\336ne such \336elds, or instance v) 108 430 T (ariables as either) 258.35 430 T 5 F (transient,) 341.99 430 T 0 F (or to implement custom) 421.19 430 T (persistence methods that a) 108 416 T (v) 234.07 416 T (oid persisting such state.) 239.83 416 T (This requirement is crucial since operations such as cutting and pasting object instances) 108 390 T (through) 108 376 T (a) 148.2 376 T (clipboard) 156.39 376 T (via) 204.57 376 T (object) 222.1 376 T (serialization) 254.29 376 T (will) 315.81 376 T (not) 337.34 376 T (function) 355.54 376 T (correctly) 398.4 376 T (if) 443.91 376 T (the) 454.11 376 T (act) 471.63 376 T (of) 488.49 376 T (serializ-) 501.35 376 T (ing the tar) 108 362 T (get object also serializes much of the entire source en) 156.44 362 T (vironment it is nested) 412.24 362 T (within.) 108 348 T 2 16 Q (3.0 Ov) 108 307.33 T (erloading ja) 156.29 307.33 T (v) 238.11 307.33 T (a.beans.instantiate\050\051 static method) 245.95 307.33 T 0 12 Q (Since) 108 280 T 1 F (java.beans.instantiate\050\051) 137.26 280 T 0 F (is) 253.18 280 T (the) 263.78 280 T (current) 281.04 280 T (mechanism) 317.62 280 T (for) 374.87 280 T (\050re\051instantiating) 391.46 280 T (Ja) 470.71 280 T (v) 480.46 280 T (aBeans) 486.16 280 T (we) 523.41 280 T (need to e) 108 266 T (xtend or o) 151.14 266 T (v) 199.62 266 T (erload the syntax and semantics of this method in order to accommo-) 205.44 266 T (date the introduction of the) 108 252 T 1 F (BeanConte) 240.98 252 T (xt) 294.07 252 T 0 F ( abstraction. The e) 302.74 252 T (xtension proposed is:) 391.2 252 T 5 F (public static Object instantiate\050ClassLoader cl,) 108 232 T (String) 342 216 T ( beanName,) 385.2 216 T (BeanContext beanContext\051;) 342 200 T 0 F (This) 108 174 T (method) 132.21 174 T (beha) 171.09 174 T (v) 193.5 174 T (es) 199.32 174 T (has) 212.19 174 T (it) 231.06 174 T (is) 240.61 174 T (currently) 251.49 174 T (de\336ned) 297.68 174 T (in) 335.89 174 T (the) 348.1 174 T (Ja) 365.64 174 T (v) 375.39 174 T (aBeans) 381.09 174 T (speci\336cation,) 418.62 174 T (b) 485.16 174 T (ut) 490.92 174 T (in) 503.13 174 T (addi-) 515.34 174 T (tion to these e) 108 160 T (xisting semantics, when a non-) 174.82 160 T 5 F (null) 323.14 160 T 1 F (BeanConte) 354.94 160 T (xt) 408.02 160 T 0 F ( is speci\336ed then the) 416.69 160 T (method in) 108 146 T (v) 155.86 146 T (ok) 161.62 146 T (es the) 173.5 146 T 1 F (add\050\051) 204.16 146 T 0 F (method on the) 233.15 146 T 1 F (beanConte) 304.81 146 T (xt) 356.57 146 T 0 F ( actual parameter with the v) 365.23 146 T (alue of) 498.56 146 T (the) 108 132 T 1 F (tar) 125.66 132 T (g) 139.22 132 T (etChild) 145.1 132 T 0 F ( actual parameter = a reference to the ne) 180.44 132 T (wly instantiated Ja) 372.83 132 T (v) 461.92 132 T (aBean compo-) 467.62 132 T (nent.) 108 114.8 T 0 9.6 Q (1) 131.66 119.6 T FMENDPAGE %%EndPage: "19" 20 %%Page: "20" 21 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (20) 532 42.62 T 2 16 Q (4.0 Pr) 108 745.33 T (o) 152.59 745.33 T (viding better support f) 160.43 745.33 T (or Beans that ar) 314.26 745.33 T (e also A) 424.62 745.33 T (pplets) 477.55 745.33 T 0 12 Q (The current implementation of) 108 718 T 1 F (java.beans.instantiate\050\051) 257.98 718 T 0 F ( contains minimal support for) 371.3 718 T (instantiating) 108 704 T (Ja) 170.26 704 T (v) 180.02 704 T (aBeans) 185.72 704 T (that) 223.3 704 T (are) 244.22 704 T (also) 261.8 704 T (Applets.) 284.05 704 T (In) 327.31 704 T (particular) 340.23 704 T (,) 385.73 704 T (this) 391.65 704 T (method) 411.92 704 T (will) 450.84 704 T (currently) 472.43 704 T (con-) 518.68 704 T (struct an) 108 690 T 1 F (AppletConte) 151.99 690 T (xt) 211.75 690 T 0 F ( and) 220.42 690 T 1 F (AppletStub) 243.74 690 T 0 F ( for the ne) 296.41 690 T (wly instantiated Ja) 345.1 690 T (v) 434.18 690 T (aBean, set the stub) 439.88 690 T (on the ne) 108 676 T (wly instantiated) 151.69 676 T 1 F (Applet,) 231.02 676 T 0 F ( and) 265.36 676 T 1 F (init\050\051) 288.68 676 T 0 F ( the) 312.68 676 T 1 F (Applet) 333.35 676 T 0 F ( if it has not already been in) 364.68 676 T (v) 497.84 676 T (ok) 503.6 676 T (ed.) 515.48 676 T (Unfortunately) 108 650 T (this) 178.09 650 T (does) 198.19 650 T (not) 222.95 650 T (pro) 241.05 650 T (vide) 256.87 650 T (suf) 280.3 650 T (\336cient) 294.66 650 T (support) 327.42 650 T (in) 366.19 650 T (order) 378.29 650 T (to) 406.38 650 T (allo) 418.48 650 T (w) 436.18 650 T (most) 447.61 650 T (Applets) 473.71 650 T (to) 513.81 650 T (be) 525.91 650 T (fully functional, since the) 108 636 T 1 F (AppletConte) 233.65 636 T (xt) 293.41 636 T 0 F ( and) 302.08 636 T 1 F (AppletStub) 325.4 636 T 0 F ( created by) 378.07 636 T 1 F (java.beans.instanti-) 433.72 636 T (ate\050\051) 108 622 T 0 F (,) 130.66 622 T (are) 136.32 622 T (no-ops.) 153.65 622 T (This) 191.98 622 T (is) 215.98 622 T (a) 226.65 622 T (direct) 234.65 622 T (consequence) 264.64 622 T (of) 328.62 622 T (the) 341.28 622 T (lack) 358.62 622 T (of) 381.28 622 T (suf) 393.94 622 T (\336cient) 408.31 622 T (speci\336cation) 440.97 622 T (of) 504.3 622 T (ho) 516.97 622 T (w) 528.67 622 T (to construct) 108 608 T 1 F (AppletConte) 167.33 608 T (xt) 227.09 608 T 0 F ( and) 235.75 608 T 1 F (AppletStub) 259.08 608 T 0 F (implementations in the e) 314.75 608 T (xisting) 432.9 608 T 1 F (Applet) 468.58 608 T 0 F ( API\325) 499.91 608 T (s.) 525.58 608 T (Furthermore,) 108 594 T (e) 173.96 594 T (v) 178.99 594 T (en) 184.8 594 T (if) 199.1 594 T (such) 209.4 594 T (speci\336cations) 234.37 594 T (e) 302.66 594 T (xisted) 307.81 594 T (we) 339.45 594 T (w) 356.41 594 T (ould) 364.95 594 T (require) 389.26 594 T (an) 426.21 594 T (API) 440.51 594 T (that) 462.81 594 T (propag) 483.77 594 T (ated) 517.04 594 T (a) 108 580 T (number) 116.08 580 T (of) 155.5 580 T 1 F (Applet) 168.25 580 T 0 F (attrib) 202.33 580 T (utes) 227.42 580 T (such) 249.51 580 T (as) 274.26 580 T (its) 287.01 580 T 2 F (Codebase) 301.1 580 T 0 F (,) 350.44 580 T (P) 356.19 580 T (arameters,) 362.68 580 T 1 F (AppletConte) 415.08 580 T (xt) 474.84 580 T 0 F (,) 483.5 580 T (and) 489.26 580 T 2 F (Docu-) 509.34 580 T (mentbase) 108 566 T 0 F ( into) 156.66 566 T 1 F (java.beans.instantiate\050\051) 181.33 566 T 0 F ( in order for it to subsequently instantiate the) 294.66 566 T (appropriately initialized objects.) 108 552 T (Since k) 108 526 T (e) 143.54 526 T (y to supporting fully functional Applets is to pro) 148.69 526 T (vide them with fully functional) 381.18 526 T 1 F (AppletConte) 108 512 T (xt) 167.76 512 T 0 F (and) 179.25 512 T 1 F (AppletStub) 199.41 512 T 0 F (instances,) 254.91 512 T (the) 304.73 512 T (design) 322.23 512 T (goal) 356.39 512 T (is) 379.88 512 T (to) 390.72 512 T (pro) 402.88 512 T (vide) 418.7 512 T (a) 442.19 512 T (mechanism) 450.35 512 T (to) 507.84 512 T (pro-) 520.01 512 T (vide this state to) 108 498 T 1 F (instantiate\050\051) 189.34 498 T 0 F ( so that it may carry out the appropriate initialization and) 248 498 T (binding) 108 480.8 T 0 9.6 Q (1) 144.67 485.6 T 0 12 Q (, therefore the proposed interf) 149.47 480.8 T (ace is:) 292.31 480.8 T 5 F (public static Object) 108 460.8 T (instantiate\050ClassLoader) 216 444.8 T (cl,) 432 444.8 T ( String) 288 428.8 T (beanName,) 432 428.8 T ( BeanContext) 288 412.8 T (bCtxt,) 432 412.8 T ( AppletInitializer) 288 396.8 T (ai) 432 396.8 T (\051;) 216 380.8 T (public interface AppletInitializer {) 108 348.8 T (void initialize\050Applet newApplet, BeanContext bCtxt\051;) 144 332.8 T (void activate\050Applet newApplet\051;) 144 316.8 T (}) 108 300.8 T 0 F (If) 108 274.8 T (the) 118.63 274.8 T (ne) 135.92 274.8 T (wly) 146.95 274.8 T (instantiated) 167.59 274.8 T (Ja) 225.55 274.8 T (v) 235.31 274.8 T (aBean) 241.01 274.8 T (component) 273.63 274.8 T (is) 329.59 274.8 T (an) 340.23 274.8 T (instance) 354.19 274.8 T (of) 396.15 274.8 T 1 F (java.applet.Apple) 408.77 274.8 T 0 F (t) 493.43 274.8 T (then) 499.4 274.8 T (the) 522.7 274.8 T (ne) 108 260.8 T (w constructed) 119.03 260.8 T 1 F (Applet) 189.01 260.8 T 0 F (, \050Bean\051 will be passed to the) 220.34 260.8 T 1 F (AppletInitializer) 362.99 260.8 T 0 F ( via a call to) 441.66 260.8 T 1 F (initial-) 503.32 260.8 T (ize\050\051.) 108 246.8 T 0 F (Compliant implementations of) 108 220.8 T 1 F (AppletInitializer) 257.68 220.8 T (.initialize\050\051) 335.02 220.8 T 0 F ( shall:) 388.02 220.8 T (1.) 108 200.8 T (Associate the ne) 121.75 200.8 T (wly instantiated) 200.09 200.8 T 1 F (Applet) 279.42 200.8 T 0 F ( with the appropriate) 310.76 200.8 T 1 F (AppletConte) 413.4 200.8 T (xt) 473.17 200.8 T 0 F (.) 481.83 200.8 T 108 165 540 185 C 0 0 0 1 0 0 0 1 K 108 173 240 173 2 L 0.25 H 2 Z 0 X N 0 0 612 792 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (1.) 108 158.33 T (Note:) 120 158.33 T (Since) 144.63 158.33 T (simple) 169.26 158.33 T (Ja) 198.34 158.33 T (v) 206.47 158.33 T (aBeans) 211.22 158.33 T (ha) 242.51 158.33 T (v) 251.75 158.33 T (e) 256.6 158.33 T (no) 263.45 158.33 T (kno) 275.86 158.33 T (wledge) 290.61 158.33 T (of) 321.9 158.33 T (a) 332.64 158.33 T (BeanConte) 339.49 158.33 T (xt,) 383.78 158.33 T (it) 396.47 158.33 T (is) 404.44 158.33 T (not) 413.52 158.33 T (advisable) 428.71 158.33 T (to) 468.89 158.33 T (introduce) 479.08 158.33 T (such) 519.26 158.33 T (instances into the hierarch) 120 146.33 T (y since there is no mechanism for these simple Ja) 224.65 146.33 T (v) 421.92 146.33 T (aBeans to remo) 426.67 146.33 T (v) 488.73 146.33 T (e them-) 493.58 146.33 T (selv) 120 134.33 T (es from the hierarch) 135.96 134.33 T (y and thus subsequently be g) 216.16 134.33 T (arbage collected.) 331.38 134.33 T (1.) 108 119.33 T 1 F (AppletConte) 120 119.33 T (xt) 169.8 119.33 T 0 F ( objects e) 177.02 119.33 T (xpose a list of) 214.64 119.33 T 1 F (Applet) 272.97 119.33 T 0 F ( objects the) 299.08 119.33 T (y \322contain\323, unfortunately the current) 344.48 119.33 T 1 F (Applet) 497.22 119.33 T 0 F ( or) 523.33 119.33 T 1 F (AppletStub) 120 107.33 T 0 F (API\325) 166.17 107.33 T (s) 185.06 107.33 T (as) 191.23 107.33 T (de\336ned,) 201.85 107.33 T (pro) 236.07 107.33 T (vide) 249.25 107.33 T (no) 268.75 107.33 T (mechanism) 281.03 107.33 T (for) 328.86 107.33 T (the) 342.8 107.33 T 1 F (AppletConte) 357.31 107.33 T (xt) 407.11 107.33 T 0 F (to) 416.61 107.33 T (disco) 426.67 107.33 T (v) 447.63 107.33 T (er) 452.48 107.33 T (its) 462.53 107.33 T 1 F (Applets) 474.26 107.33 T 0 F (from) 506.55 107.33 T (its) 528.27 107.33 T 1 F (AppletStubs,) 120 95.33 T 0 F (or for an) 172.78 95.33 T 1 F (AppletStub) 209.71 95.33 T 0 F ( to inform its) 253.6 95.33 T 1 F (AppletConte) 308.05 95.33 T (xt) 357.85 95.33 T 0 F ( of its) 365.07 95.33 T 1 F (Applet.) 390.35 95.33 T 0 F (Therefore we will ha) 421.46 95.33 T (v) 504.84 95.33 T (e to) 509.69 95.33 T (assume that this binding/disco) 120 83.33 T (v) 240.69 83.33 T (ery can occur in order for this mechanism to be w) 245.54 83.33 T (orthwhile in) 444.28 83.33 T 1 F (java.beans.instantiate\050\051) 120 71.33 T 0 F (.) 214.44 71.33 T FMENDPAGE %%EndPage: "20" 21 %%Page: "21" 22 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (21) 532 42.62 T 0 12 Q (2.) 108 748 T (Instantiate an) 121.75 748 T 1 F (AppletStub) 189.07 748 T 0 F (\050\051 and associate that) 241.73 748 T 1 F (AppletStub) 340.37 748 T 0 F ( with the) 393.04 748 T 1 F (Applet) 438.04 748 T 0 F ( via) 469.37 748 T (an in) 121.75 730 T (v) 144.93 730 T (ocation of) 150.69 730 T 1 F (setStub) 202.01 730 T 0 F (\050\051.) 236.68 730 T (3.) 108 710 T (If) 121.75 710 T 1 F (BeanConte) 132.74 710 T (xt) 185.82 710 T 0 F ( parameter is) 194.49 710 T 5 F (null) 259.47 710 T 0 F (, then it shall associate the) 288.27 710 T 1 F (Applet) 417.26 710 T 0 F ( with its appropri-) 448.59 710 T (ate) 121.75 696 T 1 F (Container) 138.74 696 T 0 F ( by adding that) 187.41 696 T 1 F (Applet) 262.07 696 T 0 F ( to its) 293.4 696 T 1 F (Container) 323.08 696 T 0 F ( via an in) 371.75 696 T (v) 415.6 696 T (ocation of) 421.36 696 T 1 F (add) 472.68 696 T 0 F (\050\051. If the) 490.68 696 T 1 F (BeanConte) 121.75 682 T (xt) 174.83 682 T 0 F (parameter) 186.24 682 T (is) 236.96 682 T (non-) 247.7 682 T 5 F (null) 269.7 682 T 0 F (,) 298.5 682 T (then) 304.24 682 T (it) 327.64 682 T (is) 337.06 682 T (the) 347.8 682 T (responsibility) 365.21 682 T (of) 433.29 682 T (the) 446.02 682 T 1 F (BeanConte) 463.43 682 T (xt) 516.52 682 T 0 F (to) 527.92 682 T (associate) 121.75 668 T (the) 167.92 668 T 1 F (Applet) 185.45 668 T 0 F (with) 219.64 668 T (its) 243.84 668 T 1 F (Container) 258.04 668 T 0 F (during) 309.57 668 T (the) 343.76 668 T (subsequent) 361.28 668 T (in) 417.47 668 T (v) 426.33 668 T (ocation) 432.08 668 T (of) 470.27 668 T (its) 483.13 668 T 1 F (addChil-) 497.33 668 T (dr) 121.75 654 T (en) 131.97 654 T 0 F (\050\051 method.) 143.3 654 T (Compliant implementations of) 108 628 T 1 F (AppletInitializer) 257.68 628 T (.activate\050\051) 335.02 628 T 0 F ( shall mark the) 384 628 T 1 F (Applet) 457.99 628 T 0 F ( as acti) 489.32 628 T (v) 522.35 628 T (e,) 528.17 628 T (and may optionally also in) 108 614 T (v) 234.85 614 T (ok) 240.61 614 T (e the) 252.49 614 T 1 F (Applet) 278.48 614 T 0 F (\325) 309.82 614 T (s) 313.15 614 T 1 F (start\050\051) 320.82 614 T 0 F ( method.) 350.82 614 T (Note that if the ne) 108 588 T (wly instantiated Ja) 194.35 588 T (v) 283.44 588 T (aBean is not an instance of) 289.14 588 T 1 F (Applet) 421.12 588 T 0 F (, then the) 452.45 588 T 1 F (Apple-) 499.78 588 T (tInitializer) 108 574 T 0 F (interf) 161.68 574 T (ace is ignored.) 187.55 574 T 2 16 Q (5.0 Standard/Suggested Con) 108 533.33 T (v) 304.72 533.33 T (entions f) 312.56 533.33 T (or BeanContext Ser) 370.38 533.33 T (vices) 505.31 533.33 T 2 12 Q (5.0.1 BeanContexts that support Inf) 108 500 T (oBus.) 294.04 500 T 0 F (The InfoBus technology is a standard e) 108 474 T (xtension package that is intended to f) 295.79 474 T (acilitate the) 474.31 474 T (rendezv) 108 460 T (ous and e) 145.74 460 T (xchange of dynamic self describing data, based upon a publish and sub-) 190.88 460 T (scribe abstraction, between Ja) 108 446 T (v) 251.05 446 T (aBean Components within a single Ja) 256.75 446 T (v) 436.84 446 T (a V) 442.54 446 T (irtual Machine.) 458.81 446 T (A) 108 420 T 1 F (BeanConte) 119.66 420 T (xt) 172.75 420 T 0 F ( that e) 181.42 420 T (xposes an) 210.56 420 T 1 F (InfoBus) 260.56 420 T 0 F ( to its nested) 297.89 420 T 1 F (BeanConte) 361.22 420 T (xtChild) 414.31 420 T 0 F ( shall do so by) 449.65 420 T (e) 108 406 T (xposing a service via the) 113.15 406 T 1 F (hasService) 234.79 406 T 0 F (\050\051 and) 286.78 406 T 1 F (g) 318.1 406 T (etService) 323.98 406 T 0 F (\050\051 methods of type) 367.96 406 T 1 F (javax.info-) 459.28 406 T (b) 108 392 T (us.InfoBus.) 113.76 392 T 0 F (Thus) 108 366 T 1 F (BeanConte) 135 366 T (xtChild) 188.09 366 T 0 F ( implementations may locate a common) 223.43 366 T 1 F (InfoBus) 418.08 366 T 0 F ( implementation) 455.41 366 T (for their current) 108 352 T 1 F (BeanConte) 186.97 352 T (xt) 240.06 352 T 0 F ( by using this mechanism to rendezv) 248.72 352 T (ous with that) 423.8 352 T 1 F (InfoBus) 488.81 352 T 0 F (instance.) 108 338 T (The Infob) 108 312 T (us 1.2 speci\336cation shall de\336ne a con) 155.41 312 T (v) 333.91 312 T (enience mechanism pro) 339.73 312 T (vided by the) 452.86 312 T 1 F (Info-) 515.18 312 T (Bus) 108 298 T 0 F ( class to simplify the disco) 126 298 T (v) 253.49 298 T (ery mechanism for) 259.31 298 T 1 F (BeanConte) 352.28 298 T (xtChild) 405.37 298 T 0 F ( instances nested) 440.71 298 T (within a particular instance of) 108 284 T 1 F (BeanConte) 254.3 284 T (xtServices) 307.39 284 T 0 F (.) 356.04 284 T 2 F (5.0.2 BeanContexts that support printing) 108 252 T 0 F (A) 108 226 T 1 F (BeanConte) 119.66 226 T (xt) 172.75 226 T 0 F ( that wishes to e) 181.42 226 T (xpose printing f) 258.56 226 T (acilities to its descendants may dele) 334.44 226 T (g) 505.91 226 T (ate a) 511.85 226 T (reference of \050sub\051type) 108 212 T 1 F (java.awt.PrintJ) 216.95 212 T (ob) 290.65 212 T 0 F (.) 302.17 212 T (As the Ja) 108 186 T (v) 151.75 186 T (a Netw) 157.45 186 T (ork Printing Interf) 191.65 186 T (ace e) 278.86 186 T (v) 302.87 186 T (olv) 308.63 186 T (es additional speci\336cations will be pro) 323.78 186 T (vided) 507.92 186 T (to e) 108 172 T (xpose it\325) 125.48 172 T (s f) 166.49 172 T (acilities via the services mechanism.) 178.03 172 T 2 F (5.0.3 BeanContext Design/Runtime mode support.) 108 140 T 0 F (Ja) 108 114 T (v) 117.76 114 T (aBeans support the concepts of \322design\323-mode, when Ja) 123.46 114 T (v) 393.16 114 T (aBeans are being manipu-) 398.86 114 T (lated and composed by a de) 108 100 T (v) 240.67 100 T (eloper in an Application Builder or IDE, and \322Run\323-mode,) 246.49 100 T (when the resulting Ja) 108 86 T (v) 209.41 86 T (aBeans are instantiated at runtime as part of an) 215.11 86 T 1 F (Applet) 442.73 86 T 0 F (, Application) 474.06 86 T (or some other e) 108 72 T (x) 182.14 72 T (ecutable abstraction.) 187.96 72 T FMENDPAGE %%EndPage: "21" 22 %%Page: "22" 23 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (22) 532 42.62 T 0 12 Q (In) 108 748 T (the) 120.95 748 T (\336rst) 138.56 748 T (v) 160.18 748 T (ersion) 166 748 T (of) 198.28 748 T (the) 211.23 748 T (speci\336cation,) 228.84 748 T (the) 295.45 748 T (\322mode\323) 313.07 748 T (or) 353.34 748 T (state,) 366.28 748 T (that) 394.23 748 T (is) 415.18 748 T (\322design\323-time) 426.14 748 T (or) 496.41 748 T (\322run\323-) 509.35 748 T (time) 108 734 T (w) 132.31 734 T (as) 140.85 734 T (a) 153.82 734 T (JVM) 162.11 734 T (global) 189.08 734 T (attrib) 222.05 734 T (ute.) 247.14 734 T (This) 267.78 734 T (is) 292.08 734 T (insuf) 303.06 734 T (\336cient) 326.76 734 T (since,) 359.73 734 T (for) 390.36 734 T (e) 407.32 734 T (xample,) 412.46 734 T (in) 453.76 734 T (an) 466.07 734 T (Application) 480.37 734 T (Builder en) 108 720 T (vironment, there may be Ja) 157.85 720 T (v) 287.92 720 T (aBeans that function, in \322run\323-mode, as part of the) 293.62 720 T (Application Builder en) 108 706 T (vironment itself, as well as the Ja) 217.51 706 T (v) 376.92 706 T (aBeans that function, in) 382.62 706 T (\322design\323-mode, under construction by the de) 108 692 T (v) 322.99 692 T (eloper using the Application Builder to) 328.81 692 T (compose an application.) 108 678 T (Therefore we require the ability to scope this \322mode\323 at a granularity belo) 108 652 T (w that of JVM) 462.95 652 T (global.) 108 638 T (The) 108 612 T 1 F (BeanConte) 129.66 612 T (xt) 182.75 612 T 0 F (abstraction, as a \322Container\323 or \322Conte) 194.41 612 T (xt\323 for one or more Ja) 382.19 612 T (v) 487.58 612 T (aBeans) 493.28 612 T (pro) 108 598 T (vides appropriate mechanism to better scope this \322mode\323.) 123.82 598 T (Thus) 108 572 T 1 F (BeanConte) 134.61 572 T (xt) 187.7 572 T 0 F (\325) 196.36 572 T (s) 199.7 572 T (that) 206.97 572 T (wish) 227.58 572 T (to) 252.86 572 T (e) 264.81 572 T (xpose) 269.95 572 T (and) 300.56 572 T (propag) 320.5 572 T (ate) 353.76 572 T (this) 370.36 572 T (\322mode\323) 390.31 572 T (to) 430.24 572 T (its) 442.18 572 T (descendants) 456.13 572 T (may) 516.73 572 T (dele) 108 558 T (g) 127.81 558 T (ate a reference of type) 133.75 558 T 1 F (java.beans.DesignMode) 243.36 558 T 0 F (:) 359.34 558 T 5 F (public interface java.beans.DesignMode {) 108 538 T (void setDesignTime\050boolean isDesignTime\051;) 144 522 T (boolean isDesignTime\050\051;) 144 506 T (}) 108 490 T 0 F (Additionally) 108 464 T (,) 167.89 464 T 1 F (BeanConte) 173.87 464 T (xt) 226.95 464 T 0 F (s) 235.62 464 T (dele) 243.26 464 T (g) 263.07 464 T (ating) 269.01 464 T (such) 295.99 464 T (a) 320.96 464 T (reference) 329.26 464 T (shall) 376.86 464 T (be) 402.5 464 T (required) 416.8 464 T (to) 459.76 464 T (\336re) 472.07 464 T (the) 491.04 464 T (appro-) 508.68 464 T (priate) 108 450 T 1 F (java.beans.pr) 138.32 450 T (opertyChang) 203.11 450 T (eEvent,) 265.66 450 T 0 F ( with propertyName = \322designT) 301.31 450 T (ime\323, with the) 454.3 450 T (appropriate v) 108 436 T (alues for) 171.35 436 T 1 F (oldV) 216 436 T (alue) 237.34 436 T 0 F ( and) 258 436 T 1 F (ne) 281.33 436 T (wV) 292.48 436 T (alue) 306.48 436 T (,) 327.02 436 T 0 F ( when the \322mode\323 changes v) 330.02 436 T (alue.) 467.35 436 T (Note that it is ille) 108 410 T (g) 191.16 410 T (al for instances of) 197.1 410 T 1 F (BeanConte) 285.74 410 T (xtChild) 338.83 410 T 0 F ( to call) 374.17 410 T 1 F (setDesignT) 409.84 410 T (ime\050\051) 463.18 410 T 0 F ( on) 488.5 410 T (instances of) 108 396 T 1 F (BeanConte) 167.99 396 T (xt) 221.08 396 T 0 F (that the) 232.74 396 T (y are nested within.) 268.22 396 T 2 F (5.0.4 BeanContext V) 108 364 T (isibility support.) 215.88 364 T 0 F (Ja) 108 338 T (v) 117.76 338 T (aBeans with associated presentation, or GUI, may be instantiated in en) 123.46 338 T (vironments) 462.25 338 T (where the ability to present that GUI is either not ph) 108 324 T (ysically possible \050when the hardw) 358.57 324 T (are) 521.76 324 T (is not present\051, or is not appropriate under the current conditions \050running in a serv) 108 310 T (er con-) 504.76 310 T (te) 108 296 T (xt instead of a client\051.) 116.48 296 T (The \336rst v) 108 270 T (ersion of the Ja) 157.15 270 T (v) 229.9 270 T (aBeans Speci\336cation introduced the) 235.6 270 T 1 F (java.beans.V) 410.9 270 T (isibility) 472.01 270 T 0 F ( inter-) 508.02 270 T (f) 108 256 T (ace) 111.88 256 T (in) 130.71 256 T (order) 142.91 256 T (to) 171.08 256 T (pro) 183.27 256 T (vide) 199.09 256 T (a) 222.61 256 T (mechanism) 230.79 256 T (for) 288.31 256 T (Ja) 305.15 256 T (v) 314.91 256 T (aBeans) 320.61 256 T (to) 358.12 256 T (ha) 370.31 256 T (v) 381.4 256 T (e) 387.22 256 T (their) 395.4 256 T (\322visible\323) 420.26 256 T (state,) 465.77 256 T (or) 493.62 256 T (ability) 506.47 256 T (to render a GUI, controlled from their en) 108 242 T (vironment.) 303.47 242 T 1 F (BeanConte) 108 216 T (xt) 161.09 216 T 0 F (s) 169.75 216 T (that) 177 216 T (wish) 197.57 216 T (to) 222.82 216 T (enforce) 234.73 216 T (a) 273.28 216 T (particular) 281.19 216 T (polic) 329.75 216 T (y) 353.57 216 T (re) 362.14 216 T (g) 371.29 216 T (arding) 377.23 216 T (the) 410.46 216 T (ability) 427.7 216 T (of) 460.95 216 T (their) 473.53 216 T (children) 498.1 216 T (to present GUI, shall use the) 108 202 T 1 F (java.beans.V) 247.64 202 T (isibility) 308.75 202 T 0 F ( interf) 344.76 202 T (ace to control their children.) 373.63 202 T 2 F (5.0.5 Determining Locale fr) 108 170 T (om a BeanContext) 251.76 170 T 1 F (BeanConte) 108 144 T (xt) 161.09 144 T 0 F (s) 169.75 144 T (may) 177.22 144 T (ha) 200.68 144 T (v) 211.76 144 T (e) 217.58 144 T (a) 225.71 144 T (locale) 233.83 144 T (associated) 265.28 144 T (with) 317.4 144 T (them,) 341.53 144 T (in) 371.33 144 T (order) 383.46 144 T (to) 411.58 144 T (associate) 423.71 144 T (and) 469.82 144 T (propag) 489.95 144 T (ate) 523.21 144 T (this important attrib) 108 130 T (ute across the Ja) 203.1 130 T (v) 281.17 130 T (aBeans nested therein.) 286.87 130 T (Therefore,) 108 104 T 1 F (BeanConte) 161.3 104 T (xt) 214.39 104 T 0 F (s, shall be required to \336re the appropriate) 223.06 104 T 1 F ( java.beans.Pr) 420.35 104 T (operty-) 489.47 104 T (Chang) 108 90 T (eEvent) 139.88 90 T 0 F (, with propertyName = \322locale\323,) 172.54 90 T 1 F (oldV) 330.26 90 T (alue) 351.6 90 T 0 F ( = the reference to the pre) 372.26 90 T (vious) 495.35 90 T FMENDPAGE %%EndPage: "22" 23 %%Page: "23" 24 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 1 K 108 54 540 54 2 L 0.25 H 2 Z 0 X N 0 8 Q (Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 306.27 42.62 T (aBeans V) 310.07 42.62 T (ersion 1.0) 340.06 42.62 T (December 2, 1998) 371.62 42.62 T (23) 532 42.62 T 0 12 Q (v) 108 748 T (alue) 113.7 748 T (of) 136.65 748 T (the) 149.61 748 T 1 F (Locale) 167.23 748 T 0 F (dele) 202.86 748 T (g) 222.67 748 T (ate,) 228.61 748 T (and) 248.56 748 T 1 F (ne) 268.85 748 T (wV) 280 748 T (alue) 294 748 T 0 F (=) 317.63 748 T (the) 327.36 748 T (reference) 344.98 748 T (to) 392.57 748 T (the) 404.86 748 T (ne) 422.49 748 T (w) 433.52 748 T (v) 445.14 748 T (alue) 450.84 748 T (of) 473.79 748 T (the) 486.75 748 T 1 F (Locale) 504.38 748 T 0 F (dele) 108 734 T (g) 127.81 734 T (ate, in order to notify its Listeners of an) 133.75 734 T (y change in) 323.88 734 T 1 F (Locale) 382.2 734 T 0 F (.) 414.86 734 T (Setting and getting the v) 108 708 T (alue of the) 225.04 708 T 1 F (Locale) 278.69 708 T 0 F ( on the) 311.35 708 T 1 F (BeanConte) 347.02 708 T (xt) 400.1 708 T 0 F ( is implementation depen-) 408.77 708 T (dent.) 108 694 T 2 16 Q (6.0 Support classes) 108 653.33 T 0 12 Q (In order to ease the implementation of this relati) 108 626 T (v) 339 626 T (ely comple) 344.82 626 T (x protocol a \322helper\323 classes) 397.63 626 T (are pro) 108 612 T (vided;) 141.47 612 T 1 F (java.beans.beanconte) 174.47 612 T (xt.BeanConte) 278.21 612 T (xtChildSupport, java.beans.beancon-) 342.96 612 T (te) 108 598 T (xt.BeanConte) 116.42 598 T (xtSupport) 181.18 598 T 0 F (, and) 227.84 598 T 1 F (java.beans.beanconte) 254.17 598 T (xt.BeanConte) 357.91 598 T (xtServicesSupport) 422.66 598 T 0 F (.) 509.32 598 T (These classes are designed to either be subclassed, or dele) 108 584 T (g) 386.41 584 T (ated implicitly by another) 392.35 584 T (object,) 108 570 T (and) 143.13 570 T (pro) 163.27 570 T (vides) 179.09 570 T (fully) 207.22 570 T (compliant) 232.7 570 T (\050e) 283.51 570 T (xtensible\051) 292.65 570 T (implementations) 342.79 570 T (of) 425.6 570 T (the) 438.4 570 T (protocols) 455.87 570 T (embod-) 503.34 570 T (ied herein.) 108 556 T FMENDPAGE %%EndPage: "23" 24 %%Trailer FMENDDOCUMENT %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 24 %%DocumentFonts: Times-Roman %%+ Times-Italic %%+ Times-Bold %%+ Times-BoldItalic %%+ Courier-Bold %%+ Courier %%DocumentNeedsFonts: Times-Roman %%+ Times-Italic %%+ Times-Bold %%+ Times-BoldItalic %%+ Courier-Bold %%+ Courier %%DocumentSuppliedFonts: %%EOF .