%!PS-Adobe-3.0 %%BoundingBox: (atend) %%Pages: (atend) %%PageOrder: (atend) %%DocumentFonts: (atend) %%Creator: Frame 5.0 %%DocumentData: Clean7Bit %%EndComments %%BeginProlog % % Frame ps_prolog 5.0, for use with Frame 5.0 products % This ps_prolog file is Copyright (c) 1986-1995 Frame Technology % Corporation. All rights reserved. This ps_prolog file may be % freely copied and distributed in conjunction with documents created % using FrameMaker, FrameMaker/SGML and FrameViewer as long as this % copyright notice is preserved. % % 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.0) 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 { dup = flush FMshowpage /Helvetica findfont 12 scalefont setfont 72 200 moveto show 72 220 moveto show FMshowpage FMquit } def /FMVERSION { FMversion ne { (Frame product version does not match ps_prolog! Check installation;) (also check ~/fminit and ./fminit for old versions) FMFAILURE } if } def /FMBADEPSF { (Adobe's PostScript Language Reference Manual, 2nd Edition, section H.2.4) (says your EPS file is not valid, as it calls X ) dup dup (X) search pop exch pop exch pop length 5 -1 roll putinterval FMFAILURE } 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 /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 /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 ] { 0 def } forall /FmBD {bind def} bind def systemdict /pdfmark known { /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 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 ] 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 /combineColor { FrameSepIs FMnone eq { graymode fMLevel1 or not { [/Pattern [/DeviceCMYK]] setcolorspace FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor } { FrameCurColors 3 get 1.0 ge { FrameCurGray RealSetgray } { fMAcrobat not FMPColor graymode and and { 0 1 3 { FrameCurColors exch get 1 FrameCurGray sub mul } for RealSetcmykcolor } { 4 1 6 { FrameCurColors exch get graymode { 1 exch sub 1 FrameCurGray sub mul 1 exch sub } { 1.0 lt {FrameCurGray} {1} ifelse } ifelse } for 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 { FrameCurGray } { 1 } ifelse } { FrameSepIs FMblack eq {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop FrameCurGray 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 defaultmatrix def /fMatrix2 matrix def /dpi 72 0 fMDefaultMatrix 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 dtransform exch atan def sangle fMatrix2 rotate fMDefaultMatrix 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 { FMPColor { orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer } { orgxfer cvx settransfer } ifelse orgfreq organgle orgproc cvx setscreen } 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 /#copies exch def 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 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 /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit /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 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto 0 paperheight lineto 0 0 lineto 1 setgray fill 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 % See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714. % "...the following operators MUST NOT be used in an EPS file:" (emphasis ours) /banddevice {(banddevice) FMBADEPSF} def /clear {(clear) FMBADEPSF} def /cleardictstack {(cleardictstack) FMBADEPSF} def /copypage {(copypage) FMBADEPSF} def /erasepage {(erasepage) FMBADEPSF} def /exitserver {(exitserver) FMBADEPSF} def /framedevice {(framedevice) FMBADEPSF} def /grestoreall {(grestoreall) FMBADEPSF} def /initclip {(initclip) FMBADEPSF} def /initgraphics {(initgraphics) FMBADEPSF} def /quit {(quit) FMBADEPSF} def /renderbands {(renderbands) FMBADEPSF} def /setglobal {(setglobal) FMBADEPSF} def /setpagedevice {(setpagedevice) FMBADEPSF} def /setshared {(setshared) FMBADEPSF} def /startjob {(startjob) FMBADEPSF} def /lettertray {(lettertray) FMBADEPSF} def /letter {(letter) FMBADEPSF} def /lettersmall {(lettersmall) FMBADEPSF} def /11x17tray {(11x17tray) FMBADEPSF} def /11x17 {(11x17) FMBADEPSF} def /ledgertray {(ledgertray) FMBADEPSF} def /ledger {(ledger) FMBADEPSF} def /legaltray {(legaltray) FMBADEPSF} def /legal {(legal) FMBADEPSF} def /statementtray {(statementtray) FMBADEPSF} def /statement {(statement) FMBADEPSF} def /executivetray {(executivetray) FMBADEPSF} def /executive {(executive) FMBADEPSF} def /a3tray {(a3tray) FMBADEPSF} def /a3 {(a3) FMBADEPSF} def /a4tray {(a4tray) FMBADEPSF} def /a4 {(a4) FMBADEPSF} def /a4small {(a4small) FMBADEPSF} def /b4tray {(b4tray) FMBADEPSF} def /b4 {(b4) FMBADEPSF} def /b5tray {(b5tray) FMBADEPSF} def /b5 {(b5) FMBADEPSF} 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 { statusdict /setpageparams known { paperwidth paperheight 0 1 statusdict begin {setpageparams} stopped end } {true} 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 { 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 } 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 div 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 FMpointsize scalefont setfont } bind def /Q { /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 0.0 0.0 1.0 5 3 roll arc 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.0) FMVERSION 1 1 0 0 612 792 0 1 15 FMDOCUMENT 0 0 /Times-Roman FMFONTDEFINE 1 0 /Times-Italic FMFONTDEFINE 2 0 /Times-Bold FMFONTDEFINE 3 0 /Times-BoldItalic FMFONTDEFINE 4 0 /Courier-Bold FMFONTDEFINE 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 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K J 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (1) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 176.72 701.6 129.4 701.6 2 L V 1.2 H 0 Z N 1 24 Q (A Dr) 129.4 704 T 231.71 701.6 176.36 701.6 2 L V N (aft Pr) 176.36 704 T 524.6 701.6 230.63 701.6 2 L V N (oposal to de\336ne an Extensible) 230.63 704 T 475.77 671.6 110.56 671.6 2 L V N -0.69 (Runtime Containment and Services Pr) 110.56 674 P 540 671.6 474.69 671.6 2 L V N -0.69 (otocol) 474.69 674 P 229.22 641.6 184.56 641.6 2 L V N (for J) 184.56 644 T 350.35 641.6 228.38 641.6 2 L V N (avaBeans \050V) 228.38 644 T 367.68 641.6 347.69 641.6 2 L V N (er) 347.69 644 T 431.45 641.6 367.44 641.6 2 L V N (sion 0.) 367.44 644 T 463.44 641.6 431.45 641.6 2 L V N (97\051) 431.45 644 T 2 12 Q (Laur) 221.6 604 T (ence Cable and Graham Hamilton.) 247.39 604 T 269.91 574.8 108 574.8 2 L V 0.6 H N 3 F -0.2 (THIS IS A DRAFT SPECIFICA) 108 576 P 472.28 574.8 269.25 574.8 2 L V N -0.2 (TION, IT IS THEREFORE SUBJECT T) 269.25 576 P 540 574.8 472.06 574.8 2 L V N -0.2 (O CHANGE,) 472.06 576 P 161 560.8 108 560.8 2 L V N (AND FUR) 108 562 T 449.68 560.8 160.64 560.8 2 L V N (THERMORE IMPLIES NO INTENT ON BEHALF OF J) 160.64 562 T 496.86 560.8 449.2 560.8 2 L V N (avaSoft T) 449.2 562 T 508.31 560.8 496.64 560.8 2 L V N (O) 496.64 562 T 232.7 546.8 108 546.8 2 L V N (DELIVER SUCH BEHA) 108 548 T 260.9 546.8 231.56 546.8 2 L V N (VIOR) 231.56 548 T 332.66 520.8 108 520.8 2 L V N (Send comments to java-beans@java.sun.com.) 108 522 T 2 16 Q (1.0 Intr) 108 481.33 T (oduction.) 163.26 481.33 T 0 12 Q (Currently the Ja) 108 454 T (v) 184.42 454 T (aBeans speci\336cation \050V) 190.12 454 T (ersion 1.0\051 contains neither con) 302.76 454 T (v) 453.25 454 T (entions describ-) 459.07 454 T (ing a hierarch) 108 440 T (y or logical structure of Ja) 173.92 440 T (v) 299.32 440 T (aBeans, nor con) 305.02 440 T (v) 381.52 440 T (entions for those Ja) 387.34 440 T (v) 480.08 440 T (aBeans to) 485.78 440 T -0.12 (rendezv) 108 426 P -0.12 (ous with, or obtain arbitrary services or f) 145.74 426 P -0.12 (acilities from, the e) 340.77 426 P -0.12 (x) 432.9 426 P -0.12 (ecution en) 438.72 426 P -0.12 (vironment) 487.78 426 P (within which the Ja) 108 412 T (v) 201.42 412 T (aBean w) 207.12 412 T (as instantiated.) 248.65 412 T -0.18 (It is desirable to both pro) 108 386 P -0.18 (vide a logical, tra) 227.24 386 P -0.18 (v) 309.78 386 P -0.18 (ersable, hierarch) 315.6 386 P -0.18 (y of Ja) 394.66 386 P -0.18 (v) 426.05 386 P -0.18 (aBeans, and further to) 431.75 386 P (pro) 108 372 T (vide a general mechanism whereby an object instantiating an arbitrary Ja) 123.82 372 T (v) 473.5 372 T (aBean can) 479.2 372 T -0.32 (of) 108 358 P -0.32 (fer that Ja) 117.7 358 P -0.32 (v) 164.14 358 P -0.32 (aBean a v) 169.84 358 P -0.32 (ariety of services, or interpose itself between the underlying system) 216.22 358 P (service and the Ja) 108 344 T (v) 192.73 344 T (aBean, in a con) 198.43 344 T (v) 271.93 344 T (entional f) 277.75 344 T (ashion.) 323.29 344 T (In other component models there e) 108 318 T (xists the concept of a relationship between a Compo-) 274.79 318 T (nent and its en) 108 304 T (vironment, or Container) 177.18 304 T (, wherein a ne) 292.36 304 T (wly instantiated Component is pro-) 359.36 304 T (vided with a reference to its Container or Embedding Conte) 108 290 T (xt.) 394.78 290 T (The Container) 108 264 T (, or Embedding Conte) 176.51 264 T (xt not only establishes the hierarch) 282.32 264 T (y or logical struc-) 449.24 264 T (ture, b) 108 250 T (ut its also acts as a service pro) 138.42 250 T (vider that Components may interrog) 283.21 250 T (ate in order to) 457.14 250 T (determine, and subsequently emplo) 108 236 T (y) 277.86 236 T (, the services pro) 283.08 236 T (vided by their Conte) 364.21 236 T (xt.) 462.36 236 T (This proposal de\336nes such a protocol that supports e) 108 210 T (xtensible mechanisms that:) 359.8 210 T 4 F (\245) 108 190 T 0 F -0.16 (Introduce an abstraction for the en) 121.75 190 P -0.16 (vironment, or conte) 285.4 190 P -0.16 (xt, in which a Ja) 379.21 190 P -0.16 (v) 456.64 190 P -0.16 (aBean logically) 462.34 190 P (functions during its lifec) 121.75 176 T (ycle, that is a hierarch) 239.23 176 T (y or structure of Ja) 344.8 176 T (v) 434.54 176 T (aBeans.) 440.24 176 T 4 F (\245) 108 156 T 0 F (Enable the dynamic addition of arbitrary services to a Ja) 121.75 156 T (v) 391.78 156 T (aBean\325) 397.48 156 T (s en) 430.8 156 T (vironment.) 449.32 156 T 4 F (\245) 108 136 T 0 F (Pro) 121.75 136 T (vide a single service disco) 138.23 136 T (v) 264.03 136 T (ery mechanism through which Ja) 269.85 136 T (v) 428.25 136 T (aBeans may interro-) 433.95 136 T (g) 121.75 122 T (ate their en) 127.68 122 T (vironment in order both to ascertain the a) 180.52 122 T (v) 378.58 122 T (ailability of particular services) 384.28 122 T (and to subsequently emplo) 121.75 108 T (y those services) 249.95 108 T (.) 325.94 108 T 4 F (\245) 108 88 T 0 F (P) 121.75 88 T (ro) 128.42 88 T (vide a simple mechanism to propag) 138.23 88 T (ate an En) 308.49 88 T (vironment to a Ja) 352.66 88 T (v) 435.41 88 T (aBean.) 441.11 88 T 4 F (\245) 108 68 T 0 F (Pro) 121.75 68 T (vide better support for Ja) 138.23 68 T (v) 257.97 68 T (aBeans that are also Applets.) 263.67 68 T 88 636 90 660 R V 88 84 90 116 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "1" 1 %%Page: "2" 2 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (2) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 2 16 Q (2.0 API Pr) 106 500.33 T (oposal) 182.14 500.33 T 2 14 Q (2.1 interface ja) 106 465.67 T (v) 198.18 465.67 T (a.beans.BeanContext) 205.04 465.67 T 0 12 Q (Since the primary roles of a Ja) 106 439 T (v) 251.73 439 T (aBean\325) 257.43 439 T (s en) 290.75 439 T (vironment, or) 309.27 439 T 1 F (BeanConte) 377.6 439 T (xt) 430.68 439 T 0 9.6 Q (1) 439.35 443.8 T 0 12 Q (, is to:) 444.15 439 T (1.) 106 419 T (Pro) 119.75 419 T (vide a hierarch) 136.23 419 T (y) 207.48 419 T (, or logical structure for nested Ja) 212.7 419 T (v) 372.75 419 T (aBeans and) 378.45 419 T 1 F (BeanConte) 436.44 419 T (xt) 489.52 419 T 0 F (s.) 498.19 419 T (2.) 106 399 T -0.34 (Pro) 119.75 399 P -0.34 (vide a mechanism for rendezv) 136.23 399 P -0.34 (ous between a Ja) 279.27 399 P -0.34 (v) 359 399 P -0.34 (aBean, and a v) 364.7 399 P -0.34 (ariety of services and) 434.04 399 P (information a) 119.75 385 T (v) 184.5 385 T (ailable from the rest of the e) 190.2 385 T (x) 325.32 385 T (ecution en) 331.14 385 T (vironmen) 380.31 385 T (t.) 426.31 385 T -0.11 (This) 106 359 P 1 F -0.11 (BeanConte) 130.23 359 P -0.11 (xt) 183.31 359 P 0 F -0.11 ( may be best modeled by an interf) 191.98 359 P -0.11 (ace that de\336nes the structure or hierar-) 354.05 359 P -0.5 (ch) 106 345 P -0.5 (y primiti) 117.27 345 P -0.5 (v) 158.14 345 P -0.5 (es,) 163.96 345 P -0.5 (i) 179.46 345 P -0.5 (ncluding an Aggre) 182.79 345 P -0.5 (g) 270.92 345 P -0.5 (ation interf) 276.86 345 P -0.5 (ace, as proposed else) 329.23 345 P -0.5 (where, to pro) 428.06 345 P -0.5 (vide for a) 490.52 345 P (generic service disco) 106 331 T (v) 206.45 331 T (ery and pro) 212.27 331 T (vider f) 266.74 331 T (acility) 298.28 331 T (, therefore:) 327.5 331 T 5 F (public interface) 106 233 T (java.beans.BeanContext) 221.2 233 T ( extends) 142 217 T (java.beans.BeanContextChild) 221.2 217 T (,) 415.6 217 T ( java.util.Collection {) 178 201 T (O) 142 169 T (bject instantiateChild\050String beanName\051) 149.2 169 T 106 138 538 158 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 106 146 238 146 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (1.) 106 131.33 T -0.08 (Existing Component architectures use the term \322Container\323 to refer to the entity that pro) 118 131.33 P -0.08 (vides a \322Compo-) 470.39 131.33 P (nent\323 with services etc. from the e) 118 119.33 T (x) 254.76 119.33 T (ecution en) 259.61 119.33 T (vironment, and \322Containment\323 as the relationship between) 300.59 119.33 T (the \322Container\323 and \322Component\323. These terms are greatly o) 118 107.33 T (v) 361.96 107.33 T (erloaded in the industry) 366.81 107.33 T (, and in particular) 460.87 107.33 T -0.07 (are already used in the conte) 118 95.33 P -0.07 (xt of Ja) 231.63 95.33 P -0.07 (v) 260.73 95.33 P -0.07 (a. Additionally the intended usage of this f) 265.48 95.33 P -0.07 (acility is f) 435.42 95.33 P -0.07 (ar broader than) 475.18 95.33 P (is implied by the general usage of the term \322Container\323, therefore this proposal uses a ne) 118 83.33 T (w term \322Bean-) 472.68 83.33 T (Conte) 118 71.33 T (xt\323 to describe the \322Container\323 entity) 141.74 71.33 T (.) 290.23 71.33 T 86 381 88 393 R V 86 341 88 353 R V 86 249 88 313 R V 86 165 88 225 R V 106 518 538 767 C 0 0 0 1 0 0 0 K J 0 0 0 1 0 0 0 K 106 518 538 767 R 7 X 0 0 0 1 0 0 0 K 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 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 692.31 201.2 692.31 205 705.56 208.8 692.31 4 Y N 205 692.31 201.2 692.31 205 705.56 208.8 692.31 4 Y V 90 450 1.5 1.5 270 205 674.19 GG 205 672.69 208.8 672.69 205 659.44 201.2 672.69 4 Y N 205 672.69 208.8 672.69 205 659.44 201.2 672.69 4 Y V 205 690.81 205 674.19 2 L 7 X V 0 X N 90 450 1.5 1.5 90 315 671.81 GG 315 673.31 311.2 673.31 315 686.56 318.8 673.31 4 Y N 315 673.31 311.2 673.31 315 686.56 318.8 673.31 4 Y V 90 450 1.5 1.5 270 315 657.19 GG 315 655.69 318.8 655.69 315 642.44 311.2 655.69 4 Y N 315 655.69 318.8 655.69 315 642.44 311.2 655.69 4 Y V 315 671.81 315 657.19 2 L 7 X V 0 X N 90 450 1.5 1.5 90 436 697.81 GG 436 699.31 432.2 699.31 436 712.56 439.8 699.31 4 Y N 436 699.31 432.2 699.31 436 712.56 439.8 699.31 4 Y V 90 450 1.5 1.5 270 436 657.19 GG 436 655.69 439.8 655.69 436 642.44 432.2 655.69 4 Y N 436 655.69 439.8 655.69 436 642.44 432.2 655.69 4 Y V 436 697.81 436 657.19 2 L 7 X V 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 333.09 684.45 331.56 680.98 320.98 689.8 334.63 687.92 4 Y N 333.09 684.45 331.56 680.98 320.98 689.8 334.63 687.92 4 Y V 90 450 1.5 1.5 336.17 417.54 647.16 GG 418.91 646.55 420.44 650.02 431.02 641.2 417.37 643.08 4 Y N 418.91 646.55 420.44 650.02 431.02 641.2 417.37 643.08 4 Y V 334.46 683.84 417.54 647.16 2 L 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 217.52 594.28 215.75 590.92 205.81 600.46 219.3 597.64 4 Y N 217.52 594.28 215.75 590.92 205.81 600.46 219.3 597.64 4 Y V 90 450 1.5 1.5 332.18 255.15 574.42 GG 256.47 573.72 258.25 577.08 268.19 567.54 254.7 570.36 4 Y N 256.47 573.72 258.25 577.08 268.19 567.54 254.7 570.36 4 Y V 218.85 593.58 255.15 574.42 2 L N 90 450 1.5 1.5 121.07 329.42 598.71 GG 328.64 599.99 325.39 598.03 321.81 611.34 331.9 601.95 4 Y N 328.64 599.99 325.39 598.03 321.81 611.34 331.9 601.95 4 Y V 376 586 M 356.76 586 336.06 587.68 329.42 598.71 D 2 Z N 90 450 1.5 1.5 58.93 422.58 598.71 GG 423.36 599.99 420.1 601.95 430.19 611.34 426.61 598.03 4 Y 0 Z N 423.36 599.99 420.1 601.95 430.19 611.34 426.61 598.03 4 Y V 422.58 598.71 M 415.94 587.68 395.24 586 376 586 D 2 Z N 90 450 1.5 1.5 199.52 223.02 659.75 GG 221.61 659.24 222.88 655.66 209.13 654.82 220.34 662.82 4 Y 0 Z N 221.61 659.24 222.88 655.66 209.13 654.82 220.34 662.82 4 Y V 90 450 1.5 1.5 19.52 294.98 685.26 GG 296.39 685.76 295.12 689.34 308.87 690.18 297.66 682.18 4 Y N 296.39 685.76 295.12 689.34 308.87 690.18 297.66 682.18 4 Y V 223.02 659.75 294.97 685.26 2 L N 0 0 612 792 C 0 0 0 1 0 0 0 K J FMENDPAGE %%EndPage: "2" 2 %%Page: "3" 3 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (3) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 12 Q ( t) 180 712 T (hrows IOException, ClassNotFoundException) 201.6 712 T (;) 496.8 712 T (Object getService\050Class serviceClass,) 144 680 T ( BeanContextChild requestor) 180 664 T ( \051;) 180 648 T (boolean hasService\050Class serviceClass,) 144 632 T ( BeanContextChild requestor) 180 616 T ( \051;) 180 600 T (public InputStream) 144 568 T (getResourceAsStream\050String name,) 180 552 T ( BeanContextChild requestor) 180 536 T (\051;) 180 520 T (public java.net.URL) 144 488 T (getResource\050String name,) 180 472 T ( BeanContextChild requestor) 180 456 T (\051;) 180 440 T ( void addPropertyChangeListener) 108 408 T (\050String name,) 216 392 T (PropertyChangeListener pcl\051;) 309.6 392 T ( void removePropertyChangeListener) 108 360 T (\050String name, PropertyChangeListener pcl\051;) 216 344 T (void removeBeanContextListener) 144 312 T (\050BeanContextListener bcl\051;) 216 296 T (void addBeanContextListener\050BeanContextListener bcl\051;) 144 264 T (}) 108 248 T 2 F (2.1.1 ja) 108 184 T (v) 147.7 184 T (a.beans.BeanContextListene) 153.58 184 T (r & BeanContextEv) 298.91 184 T (ent) 403.78 184 T 5 F (public interface BeanContextListener) 108 152 T ( extends java.util.EventListener) 144 136 T ({) 403.2 136 T (void beanContextChanged\050) 144 120 T (BeanContextEvent bce\051;) 316.8 120 T (}) 108 104 T 88 68 90 720 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "3" 3 %%Page: "4" 4 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (4) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 12 Q (public abstract class BeanContextEvent) 108 712 T ( extends java.util.EventObject {) 144 696 T (public BeanContext getBeanContext\050\051;) 144 680 T (public synchronized void) 144 648 T (setPropagatedFrom\050BeanContext bc\051;) 180 632 T (public synchronized BeanContext getPropagatedFrom\050\051;) 144 600 T (public synchronized boolean isPropagated\050\051) 144 568 T (}) 108 552 T (public abstract class BeanContextMembershipEvent) 108 520 T ( extends BeanContextEvent {) 144 504 T (public boolean isDeltaMember\050Object o\051;) 144 488 T (public Object[] getDeltas\050\051;) 144 456 T (public boolean isChildrenAddedEvent\050\051;) 144 424 T (public boolean isChildrenRemovedEvent\050\051) 144 392 T (}) 108 376 T (public BeanContextAddedEvent) 108 344 T ( extends BeanContextMembershipEvent {) 144 328 T (BeanContextAddedEvent\050BeanContext bc, Object[] bccs\051;) 144 312 T (}) 108 296 T (public BeanContextRemovedEvent) 108 280 T ( extends BeanContextMembershipEvent {) 144 264 T (BeanContextRemovedEvent\050BeanContext bc, Object[] bccs\051;) 144 248 T (}) 108 232 T 0 F (The) 108 206 T 1 F (java.beans.BeanConte) 129.66 206 T (xtListener) 237.41 206 T 0 F ( interf) 285.41 206 T (ace is intended to) 314.28 206 T (pro) 400.93 206 T (vide a mechanism to) 416.75 206 T (allo) 108 192 T (w entities in the system to monitor changes in a particular conte) 125.7 192 T (xt instance. As) 434.82 192 T (detailed in the follo) 108 178 T (wing section, a) 201.36 178 T 1 F (beanConte) 276.68 178 T (xtChang) 328.44 178 T (ed) 368.99 178 T 0 F (\050\051 method noti\336cation is \336red) 380.32 178 T -0.35 (whene) 108 164 P -0.35 (v) 139.02 164 P -0.35 (er a state change occurs in a particular) 144.84 164 P 1 F -0.35 (BeanConte) 331.27 164 P -0.35 (xt) 384.36 164 P 0 F -0.35 ( instance that the) 393.02 164 P 1 F -0.35 (BeanConte) 475.6 164 P -0.35 (xt) 528.69 164 P 0 F (implementation wishes to e) 108 150 T (xpose to its Listeners. The associated) 239.48 150 T 1 F (BeanConte) 421.13 150 T (xtEvent) 474.22 150 T 0 F (instance describes the nature of the change.) 108 136 T -0.18 (I) 108 110 P -0.18 (nstances of) 112 110 P 1 F -0.18 (java.beans.BeanConte) 168.29 110 P -0.18 (xtListener) 276.03 110 P 0 F -0.18 ( are re) 324.03 110 P -0.18 (gistered and unre) 353.47 110 P -0.18 (gistered with a partic-) 435.57 110 P (ular) 108 96 T 1 F (BeanConte) 129.66 96 T (xt) 182.75 96 T 0 F ( instance via its) 191.41 96 T 1 F (addBeanConte) 268.74 96 T (xtListener\050\051) 339.83 96 T 0 F ( and) 395.82 96 T 1 F (r) 419.15 96 T (emo) 423.37 96 T (veBeanConte) 443.24 96 T (xtLis-) 506.99 96 T (tener\050\051) 108 82 T 0 F ( methods.) 140.65 82 T 88 106 90 720 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "4" 4 %%Page: "5" 5 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (5) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q (Note that the) 108 712 T 1 F (BeanConte) 172.99 712 T (xtEvent) 226.08 712 T 0 F ( pro) 262.07 712 T (vides a mechanism whereby an entity recei) 280.88 712 T (ving such) 487.2 712 T (an e) 108 698 T (v) 127.36 698 T (ent can determine if it has been propag) 133.18 698 T (ated from a) 319.4 698 T 1 F (BeanConte) 377.05 698 T (xt) 430.14 698 T 0 F ( nested with the) 438.8 698 T (BeanConte) 108 684 T (xt upon which the entity re) 161.15 684 T (gistered its associated) 289.96 684 T 1 F (BeanConte) 397.61 684 T (xtListener) 450.7 684 T 0 F ( inter-) 498.7 684 T (f) 108 670 T (ace, via the) 111.88 670 T 1 F (isPr) 169.19 670 T (opa) 188.65 670 T (gatedF) 206.53 670 T (r) 239.87 670 T (om) 244 670 T 0 F (\050\051 and) 258.66 670 T 1 F (g) 289.98 670 T (etPr) 295.86 670 T (opa) 315.98 670 T (gatedF) 333.86 670 T (r) 367.2 670 T (om) 371.33 670 T 0 F (\050\051 methods.) 385.99 670 T (Note that a) 108 644 T 1 F (BeanConte) 163.66 644 T (xt) 216.74 644 T 0 F ( is not required to propag) 225.41 644 T (ate) 346.33 644 T 1 F (BeanConte) 363.32 644 T (xtListener) 416.41 644 T 0 F ( noti\336cations it) 464.41 644 T -0.48 (recei) 108 630 P -0.48 (v) 131.02 630 P -0.48 (es to its) 136.84 630 P 1 F -0.48 (BeanConte) 175.07 630 P -0.48 (xtListener) 228.16 630 P -0.48 (s) 276.04 630 P 0 F -0.48 (, since there are performance implications in doing so,) 280.7 630 P (ho) 108 616 T (we) 119.7 616 T (v) 133.39 616 T (er the protocol is pro) 139.21 616 T (vided for those applications that require kno) 239.02 616 T (wledge of mem-) 450.68 616 T (bership changes throughout the hierarch) 108 602 T (y) 300.56 602 T (.) 305.78 602 T (The) 108 576 T 1 F (BeanConte) 129.66 576 T (xtMember) 182.75 576 T (shipEvent) 231.28 576 T 0 F ( describes changes that occur in the membership of a) 278.6 576 T (particular) 108 562 T 1 F (BeanConte) 156.98 562 T (xt) 210.07 562 T 0 F ( instance. This e) 218.74 562 T (v) 296.42 562 T (ent encapsulates the list of children either added) 302.24 562 T -0.11 (to, or remo) 108 548 P -0.11 (v) 160.59 548 P -0.11 (ed from, the membership of a particular) 166.41 548 P 1 F -0.11 (BeanConte) 359.59 548 P -0.11 (xt) 412.68 548 P 0 F -0.11 ( instance, i.e the delta in) 421.35 548 P (the membership set.) 108 534 T (whene) 108 508 T (v) 139.02 508 T (er a successful) 144.84 508 T 1 F (add) 217.81 508 T 0 F (\050\051,) 235.81 508 T 1 F (r) 249.8 508 T (emo) 254.03 508 T (ve) 273.9 508 T 0 F (\050\051,) 284.56 508 T 1 F (addAll) 298.55 508 T 0 F (\050\051, or) 330.55 508 T 1 F (clear) 357.54 508 T 0 F (\050\051 is in) 382.2 508 T (v) 413.05 508 T (ok) 418.81 508 T (ed upon a particular) 430.69 508 T (BeanConte) 108 494 T (xt instance, a) 161.15 494 T 1 F (BeanConte) 227.14 494 T (xtMember) 280.22 494 T (shipEvent) 328.75 494 T 0 F (is \336red describing the children) 379.08 494 T (ef) 108 480 T (fected by the operation.) 117.02 480 T 2 F (2.1.2) 108 448 T (T) 138 448 T (he BeanContext as a participant in nested structur) 146 448 T (e) 404.11 448 T 0 F (One of the roles of the) 108 422 T 1 F (BeanConte) 218.64 422 T (xt) 271.73 422 T 0 F ( is to introduce the notion of a hierarchical nesting or) 280.39 422 T (structure of) 108 408 T 1 F (BeanConte) 165.98 408 T (xt) 219.07 408 T 0 F ( and Ja) 227.74 408 T (v) 260.82 408 T (aBean instances. In order to model this structure the) 266.52 408 T 1 F (BeanConte) 108 394 T (xt) 161.09 394 T 0 F ( must e) 169.75 394 T (xpose API that de\336ne the relationships in the structure or hierarch) 204.24 394 T (y) 520.13 394 T (.) 525.35 394 T (The) 108 368 T 1 F (BeanConte) 129.66 368 T (xt) 182.75 368 T 0 F ( e) 191.41 368 T (xposes its superstructure through implementation of the) 199.56 368 T 1 F -0.14 (java.beans.BeanConte) 108 354 P -0.14 (xtChild) 215.75 354 P 0 F -0.14 ( interf) 251.09 354 P -0.14 (ace. This interf) 279.82 354 P -0.14 (ace allo) 351.73 354 P -0.14 (ws the disco) 388.28 354 P -0.14 (v) 447.15 354 P -0.14 (ery and manipula-) 452.97 354 P (tion of a) 108 340 T 1 F (BeanConte) 151 340 T (xt) 204.08 340 T 0 F (\325) 212.75 340 T (s nesting) 216.08 340 T 1 F (BeanConte) 261.42 340 T (xt) 314.51 340 T 0 F (, and thus introduces a f) 323.17 340 T (acility to create a) 437.7 340 T (hierarch) 108 326 T (y of) 147.25 326 T 1 F (BeanConte) 169.25 326 T (xts) 222.34 326 T 0 F (.) 235.67 326 T (T) 108 300 T (he) 115.33 300 T 1 F (BeanConte) 129.66 300 T (xt) 182.75 300 T 0 F (e) 194.41 300 T (xposes its substructure through a number of interf) 199.56 300 T (ace methods) 438.41 300 T ( mod-) 498.06 300 T (elled by the) 108 286 T 1 F (java.util.Collection) 166.99 286 T 0 F ( interf) 259.67 286 T (ace:) 288.54 286 T -0.17 (The) 108 260 P 1 F -0.17 (add) 129.49 260 P -0.17 (\050) 147.49 260 P -0.17 (\051) 151.49 260 P 0 F -0.17 ( method may be in) 155.49 260 P -0.17 (v) 243.66 260 P -0.17 (ok) 249.42 260 P -0.17 (ed in order to nest a ne) 261.3 260 P -0.17 (w Ja) 369.31 260 P -0.17 (v) 390.56 260 P -0.17 (aBean or) 396.26 260 P 1 F -0.17 (BeanConte) 441.91 260 P -0.17 (xt) 495 260 P 0 F -0.17 ( within) 503.66 260 P (the tar) 108 246 T (get) 138.11 246 T 1 F (BeanConte) 155.77 246 T (xt) 208.86 246 T 0 F (. A conformant) 217.52 246 T 1 F (add) 293.51 246 T (\050) 311.51 246 T (\051) 315.5 246 T 0 F ( implementation is required to adhere to the) 319.5 246 T (follo) 108 232 T (wing semantics:) 130.37 232 T 4 F (\245) 108 212 T 0 F -0.16 (Each child object shall appear only once in the set of children for a gi) 121.75 212 P -0.16 (v) 452.43 212 P -0.16 (en) 458.25 212 P 1 F -0.16 (BeanConte) 472.41 212 P -0.16 (xt) 525.5 212 P 0 F -0.16 (.) 534.16 212 P (If the instance is already a member of the) 121.75 198 T 1 F (BeanConte) 323.36 198 T (xt) 376.45 198 T 0 F ( then the method shall thro) 385.11 198 T (w) 513.14 198 T 1 F (Ille) 121.75 184 T (galAr) 137.26 184 T (gumentException) 164.15 184 T 0 F (.) 247.47 184 T 4 F (\245) 108 164 T 0 F (E) 121.75 164 T (ach v) 129.08 164 T (alid child shall be added to the set of children of a gi) 154.43 164 T (v) 406.1 164 T (en source) 411.92 164 T 1 F (BeanConte) 460.57 164 T (xt,) 513.65 164 T 0 F (and thus shall appear in the set of children, obtained through) 121.75 150 T (either t) 415.04 150 T (he) 448.7 150 T 1 F ( toArr) 460.02 150 T (ay\050\051,) 488.85 150 T 0 F (or) 514.17 150 T 1 F (iter) 121.75 136 T (ator\050\051) 138.23 136 T 0 F ( m) 169.23 136 T (ethod) 181.57 136 T (s) 208.23 136 T (, until such time as that child is deleted from the nesting) 212.9 136 T 1 F (BeanCon-) 484.55 136 T (te) 121.75 122 T (xt) 130.17 122 T 0 F ( via an in) 138.83 122 T (v) 182.68 122 T (ocation of) 188.44 122 T 1 F (r) 239.76 122 T (emo) 243.99 122 T (ve) 263.86 122 T (\050) 274.52 122 T (\051) 278.51 122 T 0 F (.) 282.51 122 T 4 F (\245) 108 102 T 0 F -0.06 (As the child is added to the set of nested children, and where that child implements the) 121.75 102 P 1 F (java.beans.beanconte) 121.75 88 T (xt.BeanConte) 225.49 88 T (xtChild) 290.24 88 T 0 F ( interf) 325.58 88 T (ace, the) 354.45 88 T 1 F (BeanConte) 394.1 88 T (xt) 447.18 88 T 0 F ( shall in) 455.85 88 T (v) 493.37 88 T (ok) 499.13 88 T (e the) 511.01 88 T 1 F -0.11 (setBeanConte) 121.75 74 P -0.11 (xt) 188.16 74 P 0 F -0.11 (\050\051 method upon that child, with a reference to itself. Upon in) 196.83 74 P -0.11 (v) 484.8 74 P -0.11 (ocation, a) 490.56 74 P 88 444 90 720 R V 88 70 90 348 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "5" 5 %%Page: "6" 6 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (6) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q -0.42 (child may) 121.75 712 P -0.42 (, if it is for some reason unable or unprepared to function in that) 168.21 712 P 1 F -0.42 (BeanConte) 472.66 712 P -0.42 (xt) 525.75 712 P 0 F -0.42 (,) 534.42 712 P (thro) 121.75 698 T (w a) 140.78 698 T 1 F (Pr) 160.77 698 T (opertyV) 172.23 698 T (etoException) 208.89 698 T 0 F ( to notify the nesting) 271.54 698 T 1 F (BeanConte) 373.88 698 T (xt) 426.96 698 T 0 F (. If the child thro) 435.63 698 T (ws) 516.32 698 T (such an e) 121.75 684 T (xception the) 166.22 684 T 1 F (BeanConte) 228.21 684 T (xt) 281.3 684 T 0 F ( shall re) 289.96 684 T (v) 327.65 684 T (ok) 333.41 684 T (e the addition of the child to the set of) 345.29 684 T (nested children and thro) 121.75 670 T (w an) 237.09 670 T 1 F (Ille) 263.08 670 T (galAr) 278.6 670 T (gumentException) 305.49 670 T 0 F (.) 388.8 670 T 4 F (\245) 108 650 T 0 F (Once the) 121.75 650 T 1 F (tar) 167.73 650 T (g) 181.29 650 T (etChild) 187.17 650 T 0 F ( has been successfully processed, the) 222.51 650 T 1 F (BeanConte) 402.8 650 T (xt) 455.89 650 T 0 F ( shall \336re a) 464.55 650 T 1 F (java.beans.beanconte) 121.75 636 T (xt.BeanConte) 225.49 636 T (xtAddedEvent) 290.24 636 T 0 F (, containing a reference to the ne) 356.89 636 T (wly) 513.53 636 T -0.12 (added) 121.75 622 P 1 F -0.12 (tar) 153.28 622 P -0.12 (g) 166.84 622 P -0.12 (etChild) 172.72 622 P 0 F -0.12 (, to the) 208.06 622 P -0.12 (Listeners) 243.69 622 P -0.12 ( currently re) 287.69 622 P -0.12 (gistered to recei) 345.91 622 P -0.12 (v) 422.01 622 P -0.12 (e) 427.83 622 P 1 F -0.12 (BeanConte) 436.03 622 P -0.12 (xtListener) 489.12 622 P 0 F (noti\336cations.) 121.75 608 T 4 F (\245) 108 588 T 0 F (J) 121.75 588 T (a) 126.41 588 T (v) 131.5 588 T (aBean) 137.2 588 T (s t) 167.19 588 T (hat implement the) 178.19 588 T 1 F (java.beans.V) 267.86 588 T (isibility) 328.96 588 T 0 F ( interf) 364.97 588 T (ace shall be noti\336ed via the) 393.85 588 T (appropriate method, either) 121.75 574 T 1 F (dontUseGui\050\051) 251.72 574 T 0 F ( or) 317.7 574 T 1 F (okT) 333.7 574 T (oUseGui\050\051,) 350.6 574 T 0 F ( of their current ability to) 404.25 574 T (render GUI as de\336ned the polic) 121.75 560 T (y of the) 272.52 560 T 1 F (BeanConte) 312.18 560 T (xt) 365.27 560 T 0 F (.) 373.94 560 T 4 F (\245) 108 540 T 0 F -0.13 (If the ne) 121.75 540 P -0.13 (wly added child implements) 161.17 540 P 1 F -0.13 (BeanConte) 299.32 540 P -0.13 (xtChild) 352.41 540 P 0 F -0.13 (, the) 387.75 540 P 1 F -0.13 (BeanConte) 411.16 540 P -0.13 (xt) 464.24 540 P 0 F -0.13 ( shall re) 472.91 540 P -0.13 (gister) 510.46 540 P (itself with the child on both its) 121.75 526 T 1 F (V) 271.42 526 T (etoableChang) 277.42 526 T (eListener) 344.63 526 T 0 F ( and) 389.3 526 T 1 F (Pr) 412.62 526 T (opertyChang) 424.08 526 T (eListener) 486.63 526 T 0 F (interf) 121.75 512 T (aces to monitor) 147.62 512 T (, at least, that) 221.13 512 T 1 F (BeanConte) 287.79 512 T (xtChild) 340.88 512 T 0 F (\325) 376.22 512 T (s \322beanConte) 379.55 512 T (xt\323 property) 443.69 512 T (.) 501.23 512 T (By doing so the) 121.75 494 T 1 F (BeanConte) 200.42 494 T (xt) 253.51 494 T 0 F ( can monitor its child and can detect when such children) 262.17 494 T -0.04 (are remo) 121.75 480 P -0.04 (v) 163.83 480 P -0.04 (ed from their Conte) 169.65 480 P -0.04 (xt by a 3rd party in) 263.67 480 P -0.04 (v) 354.63 480 P -0.04 (oking) 360.39 480 P 1 F -0.04 (setBeanConte) 390.68 480 P -0.04 (xt) 457.11 480 P 0 F -0.04 (\050\051. A) 465.77 480 P 1 F -0.04 (BeanCon-) 491.34 480 P -0.27 (te) 121.75 466 P -0.27 (xt) 130.17 466 P 0 F -0.27 ( may v) 138.83 466 P -0.27 (eto such a change by a 3rd party if it determines that the child is not in a state) 170.78 466 P (to depart membership of that Conte) 121.75 452 T (xt at that time.) 291.88 452 T 4 F (\245) 108 432 T 0 F (If the Ja) 121.75 432 T (v) 160.16 432 T (aBean\050s\051 added, implement Listener interf) 165.86 432 T (aces that the) 368.69 432 T 1 F (BeanConte) 431.01 432 T (xt) 484.1 432 T 0 F ( is a) 492.76 432 T -0.19 (source for) 121.75 418 P -0.19 (, then the) 169.39 418 P 1 F -0.19 (BeanConte) 216.15 418 P -0.19 (xt) 269.24 418 P 0 F -0.19 ( may re) 277.9 418 P -0.19 (gister the ne) 313.33 418 P -0.19 (wly added objects via the appropri-) 371.31 418 P (ate Listener re) 121.75 404 T (gistration methods as a permissable side ef) 190.21 404 T (fect of nesting.) 395.21 404 T 4 F (\245) 108 384 T 0 F (The method shall return) 121.75 384 T 5 F (true) 239.73 384 T 0 F ( when complete.) 268.53 384 T (T) 108 340 T (he) 115.33 340 T 1 F (r) 129.66 340 T (emo) 133.88 340 T (ve\050\051) 153.76 340 T 0 F ( method may be in) 172.4 340 T (v) 261.25 340 T (ok) 267.01 340 T (ed in order to remo) 278.89 340 T (v) 370.69 340 T (e) 376.51 340 T (an) 384.84 340 T (e) 399.17 340 T (xisting child Ja) 404.32 340 T (v) 476.75 340 T (aBean) 482.45 340 T ( o) 512.44 340 T (r) 521.44 340 T 1 F -0.23 (BeanConte) 108 326 P -0.23 (xt) 161.09 326 P 0 F -0.23 ( f) 169.75 326 P -0.23 (rom within the tar) 176.51 326 P -0.23 (get) 261.92 326 P 1 F -0.23 (BeanConte) 279.35 326 P -0.23 (xt) 332.44 326 P 0 F -0.23 (. A conformant) 341.11 326 P 1 F -0.23 (r) 416.39 326 P -0.23 (emo) 420.61 326 P -0.23 (ve\050\051) 440.48 326 P 0 F -0.23 ( implementation) 459.13 326 P (is required to adhere to the follo) 108 312 T (wing semantics:) 261.67 312 T 4 F (\245) 108 292 T 0 F -0 (If a particular child is not present in the set of children for the source) 121.75 292 P 1 F -0 (BeanConte) 454.59 292 P -0 (xt) 507.68 292 P -0 (,) 516.35 292 P 0 F -0 ( the) 519.35 292 P (method shall thro) 121.75 278 T (w) 205.45 278 T 1 F (Ille) 217.11 278 T (galAr) 232.62 278 T (gumentException) 259.52 278 T 0 F (.) 342.83 278 T 4 F (\245) 108 258 T 0 F -0.09 (R) 121.75 258 P -0.09 (emo) 129.75 258 P -0.09 (v) 150.23 258 P -0.09 (e) 156.05 258 P -0.09 (the v) 164.29 258 P -0.09 (alid) 187.57 258 P 1 F -0.09 (tar) 208.48 258 P -0.09 (g) 222.04 258 P -0.09 (etChild) 227.92 258 P 0 F -0.09 ( f) 263.26 258 P -0.09 (rom the set of children for the source) 270.17 258 P 1 F -0.09 (BeanConte) 450.09 258 P -0.09 (xt,) 503.18 258 P 0 F -0.09 (also) 517.76 258 P (remo) 121.75 244 T (ving th) 146.23 244 T (at c) 179.9 244 T (hild) 196.89 244 T ( f) 215.56 244 T (rom) 222.56 244 T (an) 244.89 244 T (y other Listener interf) 256.04 244 T (aces that it w) 360.89 244 T (as implicitly re) 423.76 244 T (gistered) 495.58 244 T (on, f) 121.75 230 T (or that) 143.74 230 T 1 F (BeanConte) 177.74 230 T (xt) 230.82 230 T 0 F (.) 239.49 230 T (Subsequently) 121.75 212 T (,) 185.63 212 T (if t) 191.63 212 T (he) 205.3 212 T 1 F (tar) 219.63 212 T (g) 233.19 212 T (etChild) 239.07 212 T 0 F ( i) 274.41 212 T (mplement) 280.74 212 T (s) 328.74 212 T ( the) 333.41 212 T 1 F ( java.beans.) 351.08 212 T (beanconte) 408.74 212 T (xt.BeanConte) 457.82 212 T (xt-) 522.57 212 T (Child) 121.75 198 T 0 F ( i) 151.42 198 T (nterf) 157.76 198 T (ace) 180.29 198 T (, t) 196.28 198 T (he) 205.61 198 T 1 F (BeanConte) 219.94 198 T (xt) 273.03 198 T 0 F (shall) 284.69 198 T ( in) 307.36 198 T (v) 319.22 198 T (ok) 324.98 198 T (e the setBeanConte) 336.86 198 T (xt\050\051 with a) 429.33 198 T 5 F (null) 485.32 198 T 0 9.6 Q (1) 514.12 202.8 T 1 12 Q (BeanConte) 121.75 184 T (xt) 174.83 184 T 0 F ( v) 183.5 184 T (alue, in order to notify that c) 192.2 184 T (hild that it is no longer nested within the) 329.18 184 T 1 F (BeanConte) 121.75 170 T (xt) 174.83 170 T 0 F (.) 183.5 170 T 108 114 540 134 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 108 122 240 122 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (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 -0.34 (g) 120 95.33 P -0.34 (eEvent) 124.9 95.33 P 0 F -0.34 ( noti\336cation as a result of a 3rd party in) 152.11 95.33 P -0.34 (v) 308.31 95.33 P -0.34 (oking) 313.11 95.33 P 1 F -0.34 (setBeanConte) 338.05 95.33 P -0.34 (xt) 393.4 95.33 P 0 F -0.34 (\050\051 then the remo) 400.62 95.33 P -0.34 (v) 463.61 95.33 P -0.34 (e implementation) 468.46 95.33 P (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 88 68 90 720 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "6" 6 %%Page: "7" 7 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (7) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q -0.3 (If a particular) 121.75 712 P 1 F -0.3 (BeanConte) 189.14 712 P -0.3 (xtChild) 242.23 712 P 0 F -0.3 ( is in a state where it is not able to be unnested from its) 277.57 712 P (nesting) 121.75 698 T 1 F (BeanConte) 159.41 698 T (xt) 212.5 698 T 0 F ( it may thro) 221.16 698 T (w a) 276.53 698 T 1 F (Pr) 296.52 698 T (opertyV) 307.98 698 T (etoException) 344.64 698 T 0 F (, upon receipt of this the) 407.3 698 T 1 F (BeanConte) 121.75 684 T (xt) 174.83 684 T 0 F (shall re) 186.5 684 T (v) 221.19 684 T (ok) 226.95 684 T (e the remo) 238.83 684 T (v) 289.3 684 T (e operation for this instance. T) 295.12 684 T (o a) 440.8 684 T (v) 454.89 684 T (oid in\336nite) 460.65 684 T (recursion children are not permitted to v) 121.75 670 T (eto subsequent remo) 314.86 670 T (v) 413.33 670 T (e noti\336cations.) 419.15 670 T -0.11 (O) 121.75 652 P -0.11 (nce the) 130.41 652 P 1 F -0.11 (tar) 167.51 652 P -0.11 (g) 181.07 652 P -0.11 (etChild) 186.95 652 P 0 F -0.11 ( h) 222.29 652 P -0.11 (a) 231.18 652 P -0.11 (s b) 236.51 652 P -0.11 (een remo) 250.07 652 P -0.11 (v) 294.1 652 P -0.11 (ed from the set of children, the) 299.92 652 P 1 F -0.11 (BeanConte) 449.8 652 P -0.11 (xt) 502.88 652 P 0 F -0.11 ( sh) 511.55 652 P -0.11 (all) 525.11 652 P -0.01 (f) 121.75 638 P -0.01 (ire a) 125.08 638 P 1 F -0.01 (java.beans.) 149.05 638 P -0.01 (BeanConte) 203.71 638 P -0.01 (xtRemo) 256.8 638 P -0.01 (vedE) 292.67 638 P -0.01 (vent) 316.66 638 P -0.01 (,) 336.65 638 P 0 F -0.01 (containing a reference to the) 342.64 638 P 1 F -0.01 (tar) 482.23 638 P -0.01 (g) 495.79 638 P -0.01 (etChild) 501.67 638 P 0 F (just remo) 121.75 624 T (v) 166.57 624 T (ed, to the Listeners currently re) 172.38 624 T (gistered to recei) 322.17 624 T (v) 398.51 624 T (e) 404.33 624 T 1 F (BeanConte) 412.66 624 T (xtListener) 465.75 624 T 0 F (noti\336cations.) 121.75 610 T 4 F (\245) 108 590 T 1 F -0.21 (If the tar) 121.75 590 P -0.21 (g) 162.89 590 P -0.21 (etChild implements) 168.77 590 P 0 F -0.21 (ja) 264.35 590 P -0.21 (v) 272.78 590 P -0.21 (a.beans.BeanConte) 278.48 590 P -0.21 (xtChild then the) 370.28 590 P 1 F -0.21 (BeanConte) 449.99 590 P -0.21 (xt) 503.08 590 P 0 F -0.21 ( shall) 511.75 590 P -0.51 (dere) 121.75 576 P -0.51 (gister itself from that child\325) 142.22 576 P -0.51 (s) 271.5 576 P 1 F -0.51 (Pr) 278.66 576 P -0.51 (opertyChang) 290.12 576 P -0.51 (eListener) 352.66 576 P 0 F -0.51 ( and) 397.33 576 P 1 F -0.51 (V) 419.63 576 P -0.51 (etoableChang) 425.63 576 P -0.51 (eListener) 492.85 576 P 0 F (sources.) 121.75 562 T 4 F (\245) 108 542 T 0 F (If the) 121.75 542 T 1 F (BeanConte) 150.4 542 T (xt) 203.49 542 T 0 F ( had pre) 212.15 542 T (viously re) 250.51 542 T (gistered the object\050s\051 remo) 297.99 542 T (v) 426.11 542 T (ed, as Listeners on) 431.93 542 T (e) 121.75 528 T (v) 126.77 528 T (ents sources implemented by the) 132.59 528 T 1 F (BeanConte) 292.24 528 T (xt) 345.33 528 T 0 F (, as a side ef) 353.99 528 T (fect of nesting those) 412.67 528 T (objects, then the) 121.75 514 T 1 F (BeanConte) 203.07 514 T (xt) 256.16 514 T 0 F ( shall de-re) 264.82 514 T (gister the ne) 317.96 514 T (wly remo) 376.31 514 T (v) 421.79 514 T (ed object from the) 427.61 514 T (applicable source\050s\051 via the appropriate Listener de-re) 121.75 500 T (gistration method\050s\051) 380.81 500 T 4 F (\245) 108 480 T 0 F (Finally the method shall return the v) 121.75 480 T (alue) 296.11 480 T 5 F (true) 319.1 480 T 0 F (.) 347.9 480 T (N) 108 454 T (ote that the lifetime of an) 116.66 454 T (y child of a nesting) 237.47 454 T 1 F (BeanConte) 332.46 454 T (xt) 385.55 454 T 0 F (, is at least for the duration of) 394.21 454 T (that child\325) 108 440 T (s containment within a gi) 156.34 440 T (v) 277.37 440 T (en) 283.19 440 T 1 F (BeanConte) 297.52 440 T (xt) 350.6 440 T 0 F (. F) 359.27 440 T (or simple Ja) 371.76 440 T (v) 429.52 440 T (aBeans that are not) 435.22 440 T (a) 108 426 T (w) 113.15 426 T (are of their containment within a) 121.69 426 T 1 F (BeanConte) 281.66 426 T (xt) 334.75 426 T 0 F (, this usually implies that the Ja) 343.42 426 T (v) 494.18 426 T (aBean) 499.88 426 T (shall e) 108 412 T (xist for the lifetime of the nesting) 138.82 412 T 1 F (BeanConte) 302.47 412 T (xt) 355.56 412 T 0 F (.) 364.22 412 T (The) 108 386 T 1 F (toArr) 129.66 386 T (ay\050) 155.48 386 T (\051) 170.81 386 T (,) 174.8 386 T 0 F ( method shall return a cop) 180.8 386 T (y of the current set of Ja) 305.66 386 T (v) 421.39 386 T (aBean or) 427.09 386 T 1 F (BeanConte) 473.08 386 T (xt) 526.16 386 T 0 F (instances nested within the tar) 108 372 T (get) 252.43 372 T 1 F (BeanConte) 270.1 372 T (xt) 323.18 372 T 0 F (, and the) 331.85 372 T 1 F (iter) 375.84 372 T (ator) 392.33 372 T 0 F (\050\051 method shall supply a) 412.33 372 T 1 F (java.util.Iter) 108 358 T (ator) 167.82 358 T 0 F (object o) 190.82 358 T (v) 228.97 358 T (er the same set of children.) 234.79 358 T (The) 108 332 T 1 F (contains\050\051) 129.66 332 T 0 F ( method shall return) 178.32 332 T 5 F (true) 277.64 332 T 0 F ( if the object speci\336ed is currently a child of the) 306.44 332 T 1 F (BeanConte) 108 318 T (xt) 161.09 318 T 0 F (.) 169.75 318 T (The) 108 292 T 1 F (size\050\051) 129.66 292 T 0 F ( method returns the current number of children nested.) 155.65 292 T (The) 108 266 T 1 F (isEmpty) 129.66 266 T 0 F (\050\051 method returns true if) 168.32 266 T (f the) 283.33 266 T 1 F (BeanConte) 307.99 266 T (xt) 361.08 266 T 0 F ( has no children.) 369.74 266 T 1 F (BeanConte) 108 240 T (xt) 161.09 240 T 0 F (\325) 169.75 240 T (s are not required to implement either) 173.09 240 T 1 F (addAll\050Collection c\051) 356.72 240 T 0 F ( or) 455.05 240 T 1 F (clear\050\051) 471.05 240 T 0 F ( meth-) 503.7 240 T (ods de\336ned by) 108 226 T 1 F (java.util.Collection) 181 226 T 0 F (, ho) 273.67 226 T (we) 294.37 226 T (v) 308.06 226 T (er if the) 313.88 226 T (y do the) 351.02 226 T (y must implement the seman-) 389.51 226 T (tics de\336ned, per object, for both) 108 212 T 1 F (add) 263.98 212 T 0 F (\050\051 and) 281.98 212 T 1 F (r) 313.3 212 T (emo) 317.52 212 T (ve) 337.39 212 T 0 F (\050\051. In the f) 348.05 212 T (ailure cases these methods) 396.58 212 T -0.38 (should re) 108 198 P -0.38 (v) 151.65 198 P -0.38 (ok) 157.41 198 P -0.38 (e an) 169.29 198 P -0.38 (y partially applied changes to return the) 188.38 198 P 1 F -0.38 (BeanConte) 379.36 198 P -0.38 (xt) 432.45 198 P 0 F -0.38 ( to the state it w) 441.11 198 P -0.38 (as in) 515.43 198 P -0.46 (prior to the composite operation being in) 108 184 P -0.46 (v) 300.75 184 P -0.46 (ok) 306.51 184 P -0.46 (ed, no BeanConte) 318.39 184 P -0.46 (xtEv) 402.95 184 P -0.46 (ents shall be \336red in the) 425.43 184 P (f) 108 170 T (ailure case..) 111.88 170 T (N) 108 144 T (ote that) 116.66 144 T 1 F (all the Collection) 155.33 144 T 0 F (methods) 241.67 144 T (a) 285.34 144 T (ll require proper synchronization in order to func-) 290.66 144 T (tion correctly in a multi-threaded en) 108 130 T (vironment.) 280.49 130 T -0.16 (The) 108 104 P 1 F -0.16 (instantiateChild\050\051) 129.5 104 P 0 F -0.16 ( method is a con) 214.84 104 P -0.16 (v) 292.36 104 P -0.16 (enience method that may be in) 298.18 104 P -0.16 (v) 443.86 104 P -0.16 (ok) 449.62 104 P -0.16 (ed to instantiate) 461.5 104 P (a ne) 108 90 T (w Ja) 127.36 90 T (v) 148.78 90 T (aBean instance as a child of the tar) 154.48 90 T (get) 321.22 90 T 1 F (BeanConte) 338.88 90 T (xt) 391.97 90 T 0 F (. The implementation of the) 400.63 90 T 88 140 90 720 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "7" 7 %%Page: "8" 8 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (8) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q (Ja) 108 712 T (v) 117.76 712 T (aBean is deri) 123.46 712 T (v) 185.81 712 T (ed from the v) 191.63 712 T (alue of the) 255.65 712 T 1 F (beanName) 309.3 712 T 0 F (actual parameter) 363.62 712 T (, and is de\336ned by) 442.78 712 T (the) 108 698 T 1 F (java.beans.Beans.instantiate\050\051) 125.66 698 T 0 F ( method.) 271.32 698 T (T) 108 672 T (ypically) 114.37 672 T (, this shall be implemented by calling the appropriate) 152.26 672 T 1 F (java.beans.Beans.instanti-) 410.23 672 T (ate\050\051) 108 658 T 0 F (method, using the) 133.66 658 T 1 F (ClassLoader) 222.32 658 T 0 F ( of the tar) 283.67 658 T (get) 329.77 658 T 1 F (BeanConte) 347.44 658 T (xt) 400.52 658 T 0 F (.) 409.19 658 T 2 F (2.1.3) 108 626 T (Resour) 138 626 T (ces.) 174.44 626 T 0 F (The) 108 600 T 1 F (BeanConte) 129.66 600 T (xt) 182.75 600 T 0 F ( de\336nes tw) 191.41 600 T (o methods;) 243.29 600 T 1 F (g) 299.29 600 T (etResour) 305.17 600 T (ceAsStr) 347.39 600 T (eam) 383.6 600 T 0 F (\050\051 and) 403.6 600 T 1 F (g) 434.92 600 T (etResour) 440.8 600 T (ce) 483.01 600 T 0 F (\050\051 which) 493.67 600 T (are analogous to those methods found on) 108 586 T 1 F (java.lang) 307.64 586 T (.ClassLoader) 352.46 586 T (. BeanConte) 415.48 586 T (xtChild) 474.56 586 T 0 F (instances nested within a) 108 572 T 1 F (BeanConte) 230.65 572 T (xt) 283.74 572 T 0 F ( shall in) 292.4 572 T (v) 329.93 572 T (ok) 335.69 572 T (e the methods on their nesting Conte) 347.57 572 T (xt) 523.38 572 T (in preference for those on) 108 558 T 1 F (ClassLoader) 234.29 558 T 0 F (, to allo) 295.15 558 T (w a) 331.19 558 T 1 F (BeanConte) 351.18 558 T (xt) 404.27 558 T 0 F ( implementation to aug-) 412.93 558 T (ment the semantics by interposing beha) 108 544 T (vior between the child and the underlying) 297.41 544 T 1 F (Class-) 500.38 544 T (Loader) 108 530 T 0 F ( semantics) 142.67 530 T 2 F (2.1.4) 108 498 T (T) 138 498 T (he BeanContext as a Ser) 146 498 T (vice Pr) 270.54 498 T (o) 305.98 498 T (vider) 311.86 498 T 0 F -0.21 (Using the) 108 472 P 1 F -0.21 (hasService\050) 156.91 472 P -0.21 (\051) 212.89 472 P 0 F -0.21 ( and) 216.88 472 P 1 F -0.21 (g) 239.79 472 P -0.21 (etService\050) 245.67 472 P -0.21 (\051) 293.64 472 P 0 F -0.21 ( methods) 297.64 472 P -0.21 ( o) 341.1 472 P -0.21 (f the) 349.89 472 P 1 F -0.21 (BeanConte) 374.12 472 P -0.21 (xt) 427.21 472 P 0 F -0.21 (, Ja) 435.88 472 P -0.21 (v) 451.42 472 P -0.21 (aBeans can inter-) 457.12 472 P (rog) 108 458 T (ate for the e) 123.94 458 T (xistence of, and subsequently obtain references to, a v) 180.73 458 T (ariety of dynamic) 439.7 458 T (services from its en) 108 444 T (vironment,) 201.17 444 T (See \322Standard/Suggested Con) 256.5 444 T (v) 400.01 444 T (entions for BeanConte) 405.83 444 T (xt) 513.64 444 T (Dele) 108 430 T (g) 130.48 430 T (ates\323 on page) 136.42 430 T (13.) 204.06 430 T -0.14 (In the case when a nested) 108 404 P 1 F -0.14 (BeanConte) 232.44 404 P -0.14 (xt) 285.53 404 P 0 F -0.14 ( is requested for a particular Dele) 294.19 404 P -0.14 (g) 453.11 404 P -0.14 (ate that it has no) 459.05 404 P (implementation for) 108 390 T (, then the) 199.85 390 T 1 F (BeanConte) 247.18 390 T (xt) 300.26 390 T 0 F ( may) 308.93 390 T (dele) 335.59 390 T (g) 355.4 390 T (ate t) 361.34 390 T (he dele) 381.67 390 T (g) 415.81 390 T (ation requested to its) 421.75 390 T -0.08 (o) 108 376 P -0.08 (wn nesting) 113.7 376 P 1 F -0.08 (BeanConte) 168.86 376 P -0.08 (xt) 221.95 376 P 0 F -0.08 ( in order to be satis\336ed. Thus Dele) 230.62 376 P -0.08 (g) 395.16 376 P -0.08 (ation requests can propag) 401.1 376 P -0.08 (ate) 523.09 376 P (from the leaf Ja) 108 362 T (v) 182.74 362 T (aBeans to the root) 188.44 362 T 1 F (BeanConte) 278.42 362 T (xt.) 331.51 362 T 0 F (This is strongly recommended since it) 346.18 362 T (has a signi\336cant impact upon interoperability) 108 348 T (.) 324.2 348 T (Using) 108 322 T (this mechanism t) 139.67 322 T (o dynamically disco) 221 322 T (v) 317.48 322 T (er and utilize services, decouples Ja) 323.3 322 T (v) 494.35 322 T (aBeans) 500.05 322 T (and) 108 308 T 1 F (BeanConte) 128.33 308 T (xt) 181.42 308 T 0 F (s, enabling both greater independence of Ja) 190.08 308 T (v) 397.45 308 T (aBeans from their en) 403.15 308 T (viron-) 502.98 308 T (ment and signi\336cant impro) 108 294 T (v) 236.82 294 T (ements in portability) 242.64 294 T (.) 341.2 294 T (The set of Dele) 108 268 T (g) 181.46 268 T (ate types of a) 187.4 268 T 1 F (BeanConte) 254.05 268 T (xt) 307.14 268 T 0 F ( is v) 315.8 268 T (ariable o) 335.51 268 T (v) 376.98 268 T (er the lifetime of the) 382.8 268 T 1 F (BeanCon-) 483.78 268 T (te) 108 254 T (xt.) 116.42 254 T 0 F (F) 108 228 T (or) 114.49 228 T ( an) 124.49 228 T (y arbitrary Dele) 138.64 228 T (g) 214.43 228 T (ate, it is v) 220.37 228 T (alid a v) 266.74 228 T (alid reference at least until the last child referenc-) 301.76 228 T (ing it maintains that reference.) 108 214 T (When) 108 188 T 1 F (BeanConte) 139.66 188 T (xtChild) 192.74 188 T 0 F ( instances are remo) 228.08 188 T (v) 320.21 188 T (ed from a particular) 326.03 188 T 1 F (BeanConte) 424 188 T (xt) 477.08 188 T 0 F ( instance,) 485.75 188 T (the) 108 174 T (y shall discard all references to an) 122.48 174 T (y Dele) 285.59 174 T (g) 317.06 174 T (ates the) 323 174 T (y obtained from that) 359.15 174 T 1 F (BeanConte) 459.8 174 T (xt) 512.89 174 T 0 F (.) 521.56 174 T -0.49 (Futhermore,) 108 160 P 1 F -0.49 (BeanConte) 169.5 160 P -0.49 (xts) 222.59 160 P 0 F -0.49 ( are not permitted to e) 235.92 160 P -0.49 (xpose Dele) 338.92 160 P -0.49 (g) 391.89 160 P -0.49 (ates, obtained by defering the) 397.83 160 P (request to their nesting) 108 146 T 1 F (BeanConte) 220.66 146 T (xt) 273.74 146 T 0 F (, to their children where the nature of the Dele) 282.41 146 T (g) 504.17 146 T (ate) 510.11 146 T (obtained is such that its function depends upon some aspect of the nesting relationship) 108 132 T -0.12 (between the initial referring BeanConte) 108 118 P -0.12 (xt, and the nesting ancestor that satis\336es that Dele-) 297.31 118 P (g) 108 104 T (ation.) 113.94 104 T 88 100 90 666 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "8" 8 %%Page: "9" 9 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (9) 536 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 2 12 Q (2.1.5) 108 712 T (T) 138 712 T (he r) 146 712 T (ole of a BeanContext in P) 166.12 712 T (ersistence) 295.54 712 T 0 F (Since one of the primary roles of a) 108 686 T 1 F (BeanConte) 277.3 686 T (xt) 330.38 686 T 0 F ( is to represent a logical nested structure) 339.05 686 T -0.08 (of Ja) 108 672 P -0.08 (v) 130.67 672 P -0.08 (aBean and) 136.37 672 P 1 F -0.08 (BeanConte) 189.53 672 P -0.08 (xt) 242.62 672 P 0 F -0.08 (instance hierarchies, it is natural to e) 254.2 672 P -0.08 (xpect that in man) 429.18 672 P -0.08 (y sce-) 511.76 672 P (narios that hierarch) 108 658 T (y should be persistent, i.e that the) 200.58 658 T 1 F (BeanConte) 364.24 658 T (xt) 417.32 658 T 0 F ( should participate in) 425.99 658 T (persistence mechanisms, in particular) 108 644 T (, either) 287.48 644 T 1 F (java.io.serializable) 323.81 644 T 0 F (or) 418.81 644 T 1 F (java.io.e) 431.81 644 T (xternalizable) 472.9 644 T 0 F (.) 535.56 644 T (In particular) 108 618 T 1 F (BeanConte) 169.98 618 T (xt) 223.07 618 T 0 F (s shall persist and restore their current children that implement) 231.73 618 T (the appropriate persistence interf) 108 604 T (aces when the) 265.5 604 T (y themselv) 332.63 604 T (es are made persistent or subse-) 384.78 604 T (quently restored.) 108 590 T (As a result of the abo) 108 564 T (v) 210.13 564 T (e requirement,) 215.95 564 T ( p) 285.26 564 T (ersistent) 294.26 564 T 1 F (BeanConte) 337.26 564 T (xtChil) 390.35 564 T 0 F (d implementations are) 419.69 564 T (required to) 108 550 T 181.66 548.8 163.32 548.8 2 L V 0.6 H 0 Z N (not) 163.32 550 T (persist an) 181.66 550 T (y references to either their nesting) 227.14 550 T 1 F (BeanConte) 393.76 550 T (xt) 446.84 550 T 0 F (, or to an) 455.51 550 T (y Dele-) 497.99 550 T (g) 108 536 T (ates obtained) 113.94 536 T (via its n) 179.93 536 T (esting) 217.93 536 T 1 F (BeanConte) 249.6 536 T (xt) 302.69 536 T 0 F (.) 311.35 536 T 1 F (B) 108 510 T (eanConte) 115.33 510 T (xts) 161.09 510 T 0 F ( shall, when restoring an instance of) 174.42 510 T 1 F (BeanConte) 350.39 510 T (xtChild) 403.48 510 T 0 F ( from its persistence) 438.82 510 T (state, be required to in) 108 496 T (v) 214.5 496 T (ok) 220.26 496 T (e) 232.14 496 T 5 F (setBeanContext\050\051) 240.47 496 T 0 F (on the ne) 362.87 496 T (wly instantiated) 406.56 496 T 1 F (BeanCon-) 485.89 496 T (te) 108 482 T (xtChild,) 116.42 482 T 0 F ( with the actual parameter) 154.76 482 T 1 F (beanConte) 282.4 482 T (xt) 334.15 482 T 0 F ( = to a reference to itself, the nesting) 342.82 482 T 1 F (BeanConte) 108 468 T (xt) 161.09 468 T 0 F (, in order to notify the ne) 169.75 468 T (wly restored instance of its nesting) 289.1 468 T 1 F (BeanConte) 459.08 468 T (xt) 512.17 468 T 0 F (,) 520.84 468 T (thus allo) 108 454 T (wing that) 148.7 454 T 1 F (BeanConte) 196.7 454 T (xtChild) 249.79 454 T 0 F ( to fully reestablish its dependencies on its en) 285.13 454 T (viron-) 502.63 454 T (ment.) 108 440 T (Also note that since) 108 414 T 1 F (BeanConte) 205.99 414 T (xt) 259.08 414 T 0 F ( implements) 267.74 414 T 1 F (java.beans.BeanConte) 329.75 414 T (xtChild) 437.5 414 T 0 F ( it shall obe) 472.84 414 T (y) 528.32 414 T (the persistence requirements de\336ned belo) 108 400 T (w for implementors of that interf) 306.32 400 T (ace.) 463.85 400 T 2 14 Q (2.2 interface ja) 108 366.67 T (v) 200.18 366.67 T (a.beans.BeanContextChild) 207.04 366.67 T 2 11.2 Q (1) 366.5 372.27 T 0 12 Q -0.27 (Simple Ja) 108 340 P -0.27 (v) 154.49 340 P -0.27 (aBeans that do not require an) 160.19 340 P -0.27 (y support or kno) 298.97 340 P -0.27 (wledge of their en) 376.85 340 P -0.27 (vironment shall) 462.54 340 P (continue to function as the) 108 326 T (y do today) 235.14 326 T (. Ho) 285.02 326 T (we) 305.39 326 T (v) 319.08 326 T (er both Ja) 324.9 326 T (v) 371.32 326 T (aBeans that wish to utilize their) 377.02 326 T (containing) 108 312 T 1 F (BeanConte) 161.66 312 T (xt) 214.75 312 T 0 F (, and) 223.42 312 T 1 F (BeanConte) 249.74 312 T (xt) 302.83 312 T 0 F (s that may be nested, require to implement a) 311.5 312 T (mechanism that enables the pro) 108 298 T (pa) 259.31 298 T (g) 270.64 298 T (ation of the reference to the enclosing) 276.58 298 T 1 F (BeanConte) 460.86 298 T (xt) 513.95 298 T 0 F (through to cognizant Ja) 108 284 T (v) 220.08 284 T (aBeans and nested) 225.78 284 T 1 F (BeanConte) 317.42 284 T (xt) 370.51 284 T 0 F (s, the interf) 379.18 284 T (ace proposed is) 433.38 284 T (:) 507.36 284 T 5 F (pu) 108 248 T (blic interface java.beans.BeanContextChil) 122.4 248 T (d) 417.6 248 T ( extends BeanContextListener {) 144 232 T (void setBeanContext\050BeanContext bc\051) 144 216 T (throws PropertyVetoException;) 252 200 T (B) 144 168 T (eanContext getBeanContext\050\051;) 151.2 168 T (void addPropertyChangeListener) 144 136 T (\050String name, PropertyChangeListener pcl\051;) 180 120 T 108 78 540 98 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 108 86 240 86 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (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!) 394.92 71.33 T 88 708 90 720 R V 88 560 90 572 R V 88 506 90 544 R V 88 100 90 306 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "9" 9 %%Page: "10" 10 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (10) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 12 Q ( void removePropertyChangeListener) 108 712 T (\050String name, PropertyChangeListener pcl\051;) 180 696 T (void addVetoableChangeListener) 144 664 T (\050String name, VetoableChangeListener pcl\051;) 180 648 T ( void removeVetoableChangeListener) 108 616 T (\050String name, VetoableChangeListener pcl\051;) 180 600 T (}) 108 568 T 0 F (W) 108 526 T (hen the) 119.33 526 T 1 F (c) 157.32 526 T (hildStateChang) 162.47 526 T (ed\050) 237.02 526 T (\051) 252.35 526 T 0 F (e) 259.34 526 T (v) 264.37 526 T (ent is deli) 270.19 526 T (v) 316.56 526 T (ered to a) 322.38 526 T ( Ja) 363.7 526 T (v) 376.45 526 T (aBean or) 382.15 526 T 1 F (BeanConte) 428.14 526 T (xt) 481.22 526 T 0 F (, the Ja) 489.89 526 T (v) 523.31 526 T (a-) 529.01 526 T -0.41 (Bean) 108 512 P -0.41 ( o) 132.66 512 P -0.41 (r) 141.24 512 P 1 F -0.41 (BeanConte) 147.83 512 P -0.41 (xt) 200.91 512 P 0 F -0.41 (may) 212.16 512 P -0.41 (typically) 235.41 512 P -0.41 (, as a side ef) 276.63 512 P -0.41 (fect of this in) 333.65 512 P -0.41 (v) 395.58 512 P -0.41 (ocation, initialize) 401.35 512 P -0.41 (, u) 484.26 512 P -0.41 (pdate) 495.84 512 P -0.41 (,) 521.83 512 P -0.41 (or) 527.42 512 P (in) 108 498 T (v) 116.86 498 T (alidate) 122.56 498 T (an) 157.55 498 T (y attrib) 168.7 498 T (utes or dependencies that it may ha) 202.79 498 T (v) 371.18 498 T (e on its nesting) 377 498 T 1 F (BeanConte) 452.34 498 T (xt\325) 505.43 498 T (s) 517.61 498 T 0 F (en) 108 484 T (vironment) 118.85 484 T (, or a) 168.18 484 T (s accessed via Dele) 192.5 484 T (g) 285.29 484 T (ation through that) 291.23 484 T 1 F (BeanConte) 379.56 484 T (xt) 432.65 484 T 0 F (.) 441.31 484 T (A) 108 458 T 1 F (BeanConte) 119.66 458 T (xtChild) 172.75 458 T 0 F ( object may thro) 208.09 458 T (w a) 286.12 458 T 1 F (ChildV) 306.11 458 T (etoException) 338.78 458 T 0 F (, to notify the nesting) 401.44 458 T 1 F (Be) 506.77 458 T (an-) 519.43 458 T (Conte) 108 444 T (xt) 136.43 444 T 0 F ( that it is unable to function/be nested within that particular) 145.09 444 T 1 F (Be) 432.07 444 T (anConte) 444.73 444 T (xt) 485.16 444 T 0 F (. Such a) 493.82 444 T -0.14 (v) 108 430 P -0.14 (eto shall be interpreted by a) 113.82 430 P 1 F -0.14 (BeanConte) 248.95 430 P -0.14 (xt) 302.04 430 P 0 F -0.14 ( as an indication that the) 310.71 430 P 1 F -0.14 (BeanConte) 429.86 430 P -0.14 (xtChild) 482.94 430 P 0 F -0.14 ( has) 518.28 430 P (determined that it is unable to function in that particular) 108 416 T 1 F (BeanConte) 379.31 416 T (xt) 432.4 416 T 0 F ( and is \336nal.) 441.06 416 T (During the unnesting of a) 108 390 T 1 F (BeanConte) 233.65 390 T (xtChild) 286.74 390 T 0 F ( from its) 322.08 390 T 1 F (BeanConte) 365.75 390 T (xt) 418.84 390 T 0 F (, it is possible for the) 427.5 390 T (child to thro) 108 376 T (w a) 166.37 376 T 1 F (Pr) 186.36 376 T (opertyV) 197.82 376 T (etoException) 234.48 376 T 0 F ( to notify the caller that it is not in a state to be) 297.13 376 T (unnested. In order to bound this interaction a) 108 362 T 1 F (BeanConte) 326.3 362 T (xtChild) 379.39 362 T 0 F ( may v) 414.73 362 T (eto the initial) 447.22 362 T (unnesting noti\336cation, b) 108 348 T (ut may not v) 224.1 348 T (eto an) 284.26 348 T (y subsequent noti\336cations, and must, upon) 313.07 348 T (receipt of such noti\336cations, amend its state accordingly) 108 334 T (.) 377.18 334 T ( N) 108 308 T (ote that classes that implement this interf) 119.66 308 T (ace,) 316.2 308 T (a) 338.18 308 T (lso act as an Ev) 343.51 308 T (ent Source for \050sub\051inter-) 417.98 308 T (f) 108 294 T (ace\050s\051 of) 111.88 294 T 1 F (java.beans.Pr) 156.52 294 T (opertyChang) 222.64 294 T (eListener) 285.18 294 T 0 F (,) 329.36 294 T ( and are required to u) 332.36 294 T (pdate) 434.66 294 T (their s) 463.66 294 T (tate) 493.32 294 T (accordingly and subsequently \336re the appropriate) 108 280 T 1 F (java.beans.Pr) 347.95 280 T (opertyChang) 414.07 280 T (eEvent) 476.62 280 T 0 F ( with) 509.27 280 T 1 F (pr) 108 266 T (opertyName) 118.13 266 T 0 F ( = \322beanConte) 176.78 266 T (xt\323,) 246.02 266 T 1 F (oldV) 266.69 266 T (alue) 288.02 266 T 0 F ( = the reference to the pre) 308.69 266 T (vious nesting) 431.77 266 T 1 F (Bean-) 498.44 266 T (Conte) 108 252 T (xt) 136.43 252 T 0 F (, and) 145.09 252 T 1 F (ne) 171.42 252 T (wV) 182.57 252 T (alue) 196.57 252 T 0 F ( = the reference to the ne) 217.24 252 T (w nesting) 336.32 252 T 1 F (BeanConte) 385.66 252 T (xt,) 438.74 252 T 0 F ( to notify) 450.41 252 T (an) 497.41 252 T (y) 508.56 252 T (Lis-) 517.56 252 T (teners that its nesting) 108 238 T 1 F (BeanConte) 212.66 238 T (xt) 265.75 238 T 0 F ( has changed v) 274.42 238 T (alue.) 345.1 238 T -0.01 (Ja) 108 212 P -0.01 (v) 117.76 212 P -0.01 (aBeans, or nested) 123.46 212 P 1 F -0.01 (BeanConte) 210.73 212 P -0.01 (xt) 263.82 212 P 0 F -0.01 (s in the process of terminating themselv) 272.48 212 P -0.01 (es, shall in) 463.55 212 P -0.01 (v) 514.04 212 P -0.01 (ok) 519.8 212 P -0.01 (e) 531.68 212 P (the) 108 198 T 1 F (r) 125.66 198 T (emo) 129.89 198 T (veChildr) 149.76 198 T (en\050\051) 191.32 198 T 0 F (method on their nesting) 213.64 198 T 1 F (BeanConte) 330.3 198 T (xt) 383.39 198 T 0 F ( in order to withdra) 392.05 198 T (w them-) 484.52 198 T (selv) 108 184 T (es from the hierarch) 127.15 184 T (y prior to termination.) 223.39 184 T 2 F (2.2.1 Important P) 108 152 T (ersistence considerations) 201.42 152 T 0 F (Instances of) 108 126 T 1 F (BeanConte) 168.65 126 T (xtChild) 221.74 126 T 0 F ( nested within an) 257.08 126 T 1 F (BeanConte) 341.74 126 T (xt,) 394.82 126 T 0 F ( will typically de\336ne \336elds) 406.49 126 T (or instance v) 108 112 T (ariables that will contain references to their nesting) 169.02 112 T 1 F (BeanConte) 417.64 112 T (xt) 470.72 112 T 0 F ( instance,) 479.39 112 T (and possibly Dele) 108 98 T (g) 193.81 98 T (ates obtained from that) 199.75 98 T 1 F (BeanConte) 313.07 98 T (xt) 366.16 98 T 0 F ( instance via its) 374.82 98 T 1 F (g) 452.15 98 T (etConte) 458.03 98 T (xtSer-) 495.12 98 T (vices\050\051) 108 84 T 0 F ( i) 139.98 84 T (nterf) 146.32 84 T (ace.) 168.85 84 T 88 248 90 720 R V 88 80 90 106 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "10" 10 %%Page: "11" 11 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (11) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q (In order to ensure that the act of making such an instance persistent does not erroneously) 108 712 T -0.11 (persist objects from the instances nesting en) 108 698 P -0.11 (vironment, such instances shall be required to) 318.15 698 P (de\336ne such \336elds, or instance v) 108 684 T (ariables as) 258.35 684 T 5 F (transient) 311.66 684 T 0 F (.) 376.46 684 T (This requirement is crucial since operations such as cutting and pasting object instances) 108 658 T -0.14 (through a clipboard via object serialization will not function correctly if the act of serializ-) 108 644 P (ing the tar) 108 630 T (get object also serializes the entire source en) 156.44 630 T (vironment it is nested within.) 369.58 630 T 2 16 Q (3.0 Ov) 108 589.33 T (erloading ja) 156.29 589.33 T (v) 238.11 589.33 T (a.beans.instantiate\050\051 static method) 245.95 589.33 T 0 12 Q -0.41 (Since) 108 562 P 1 F -0.41 (java.beans.instantiate\050\051) 137.26 562 P 0 F -0.41 ( is the current mechanism for \050re\051instantiating Ja) 250.59 562 P -0.41 (v) 480.46 562 P -0.41 (aBeans we) 486.16 562 P (need to e) 108 548 T (xtend or o) 151.14 548 T (v) 199.62 548 T (erload the syntax and semantics of this method in order to accommo-) 205.44 548 T (date the introduction of the) 108 534 T 1 F (BeanConte) 240.98 534 T (xt) 294.07 534 T 0 F ( abstraction. The e) 302.74 534 T (xtension proposed is:) 391.2 534 T 5 F (public static Object instantiate\050ClassLoader cl,) 108 514 T (String) 342 498 T ( beanName,) 385.2 498 T (BeanContext beanContext\051;) 342 482 T 0 F (This method beha) 108 456 T (v) 193.75 456 T (es has it is currently de\336ned in the Ja) 199.57 456 T (v) 376.64 456 T (aBeans speci\336cation e) 382.34 456 T (xcept in) 488.81 456 T (the case when the Ja) 108 442 T (v) 205.73 442 T (aBean instantiated implements the) 211.43 442 T 1 F (java.beans.BeanConte) 379.42 442 T (xtChild) 487.16 442 T 0 F (interf) 108 428 T (ace, in this case, the method in) 133.87 428 T (v) 280.7 428 T (ok) 286.46 428 T (es the) 298.34 428 T 1 F (addChild\050\051) 329 428 T 0 F (method on the) 384.67 428 T 1 F (beanConte) 456.34 428 T (xt) 508.09 428 T 0 F (actual parameter with the v) 108 414 T (alue of the) 238.33 414 T 1 F (tar) 291.98 414 T (g) 305.54 414 T (etChild) 311.42 414 T 0 F ( actual parameter = a reference to the) 346.76 414 T (ne) 108 400 T (wly instantiated Ja) 119.03 400 T (v) 208.12 400 T (aBean.) 213.82 400 T 0 9.6 Q (1) 246.8 404.8 T 2 16 Q (4.0 Pr) 108 359.33 T (o) 152.59 359.33 T (viding better support f) 160.43 359.33 T (or Beans that ar) 314.26 359.33 T (e also A) 424.62 359.33 T (pplets) 477.55 359.33 T 0 12 Q (The current implementation of) 108 332 T 1 F (java.beans.instantiate\050\051) 257.98 332 T 0 F ( contains minimal support for) 371.3 332 T -0.08 (instantiating Ja) 108 318 P -0.08 (v) 180.02 318 P -0.08 (aBeans that are also Applets. In particular) 185.72 318 P -0.08 (, this method will currently con-) 385.73 318 P (struct an) 108 304 T 1 F (AppletConte) 151.99 304 T (xt) 211.75 304 T 0 F ( and) 220.42 304 T 1 F (AppletStub) 243.74 304 T 0 F ( for the ne) 296.41 304 T (wly instantiated Ja) 345.1 304 T (v) 434.18 304 T (aBean, set the stub) 439.88 304 T (on the ne) 108 290 T (wly instantiated) 151.69 290 T 1 F (Applet,) 231.02 290 T 0 F ( and) 265.36 290 T 1 F (init\050\051) 288.68 290 T 0 F ( the) 312.68 290 T 1 F (Applet) 333.35 290 T 0 F ( if it has not already been in) 364.68 290 T (v) 497.84 290 T (ok) 503.6 290 T (ed.) 515.48 290 T -0.23 (Unfortunately this does not pro) 108 264 P -0.23 (vide suf) 256.87 264 P -0.23 (\336cient support in order to allo) 294.66 264 P -0.23 (w most Applets to be) 436.18 264 P (fully functional, since the) 108 250 T 1 F (AppletConte) 233.65 250 T (xt) 293.41 250 T 0 F ( and) 302.08 250 T 1 F (AppletStub) 325.4 250 T 0 F ( created by) 378.07 250 T 1 F (java.beans.instanti-) 433.72 250 T -0.08 (ate\050\051) 108 236 P 0 F -0.08 (, are) 130.66 236 P -0.08 (noops.) 154.14 236 P -0.08 ( This is a direct consequence of the lack of suf) 185.81 236 P -0.08 (\336cient speci\336cation of ho) 407.31 236 P -0.08 (w) 528.42 236 P (to construct) 108 222 T 1 F (AppletConte) 167.33 222 T (xt) 227.09 222 T 0 F ( and) 235.75 222 T 1 F (AppletStub) 259.08 222 T 0 F (implementations in the e) 314.75 222 T (xisting) 432.9 222 T 1 F (Applet) 468.58 222 T 0 F ( API\325) 499.91 222 T (s.) 525.58 222 T -0.03 (Furthermore, e) 108 208 P -0.03 (v) 178.99 208 P -0.03 (en if such speci\336cations e) 184.8 208 P -0.03 (xisted we w) 307.81 208 P -0.03 (ould require an API that propag) 364.95 208 P -0.03 (ated) 517.04 208 P -0.25 (a number of) 108 194 P 1 F -0.25 (Applet) 168.25 194 P 0 F -0.25 ( attrib) 199.58 194 P -0.25 (utes such as its) 227.42 194 P 2 F -0.25 (Codebase) 301.1 194 P 0 F -0.25 (, P) 350.44 194 P -0.25 (arameters,) 362.68 194 P 1 F -0.25 (AppletConte) 415.08 194 P -0.25 (xt) 474.84 194 P 0 F -0.25 (, and) 483.5 194 P 2 F -0.25 (Docu-) 509.34 194 P (mentbase) 108 180 T 0 F ( into) 156.66 180 T 1 F (java.beans.instantiate\050\051) 181.33 180 T 0 F ( in order for it to subsequently instantiate the) 294.66 180 T (appropriately initialized objects.) 108 166 T 108 102 540 122 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 108 110 240 110 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (1.) 108 95.33 T -0.09 (Note: Since simple Ja) 120 95.33 P -0.09 (v) 206.47 95.33 P -0.09 (aBeans ha) 211.22 95.33 P -0.09 (v) 251.75 95.33 P -0.09 (e no kno) 256.6 95.33 P -0.09 (wledge of a BeanConte) 290.61 95.33 P -0.09 (xt, it is not advisable to introduce such) 383.78 95.33 P (instances into the hierarch) 120 83.33 T (y since there is no mechanism for these simple Ja) 224.65 83.33 T (v) 421.92 83.33 T (aBeans to remo) 426.67 83.33 T (v) 488.73 83.33 T (e them-) 493.58 83.33 T (selv) 120 71.33 T (es from the hierarch) 135.96 71.33 T (y and thus subsequently be g) 216.16 71.33 T (arbage collected.) 331.38 71.33 T 88 232 90 244 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "11" 11 %%Page: "12" 12 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (12) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q (Since k) 108 712 T (e) 143.54 712 T (y to supporting fully functional Applets is to pro) 148.69 712 T (vide them with fully functional) 381.18 712 T 1 F -0.17 (AppletConte) 108 698 P -0.17 (xt) 167.76 698 P 0 F -0.17 ( and) 176.42 698 P 1 F -0.17 (AppletStub) 199.41 698 P 0 F -0.17 (instances, the design goal is to pro) 254.91 698 P -0.17 (vide a mechanism to pro-) 418.7 698 P (vide this state to) 108 684 T 1 F (instantiate\050\051) 189.34 684 T 0 F ( so that it may carry out the appropriate initialization and) 248 684 T (binding) 108 670 T 0 9.6 Q (1) 144.67 674.8 T 0 12 Q (, therefore the proposed interf) 149.47 670 T (ace is:) 292.31 670 T 5 F (public static Object) 108 650 T (i) 216 634 T (nstantiate\050ClassLoader) 223.2 634 T (c) 432 634 T (l,) 439.2 634 T ( S) 288 618 T (tring) 309.6 618 T (b) 432 618 T (eanName,) 439.2 618 T ( B) 288 602 T (eanContext) 309.6 602 T (b) 432 602 T (Ctxt,) 439.2 602 T ( A) 288 586 T (pplet) 309.6 586 T (Initializer) 345.6 586 T (ai) 432 586 T (\051) 216 570 T (;) 223.2 570 T (public interface AppletInitializer {) 108 490 T (void initialize\050Applet newApplet, BeanContext bCtxt\051;) 144 474 T (void activate\050Applet newApplet\051;) 144 458 T (}) 108 442 T 0 F (If the ne) 108 416 T (wly instantiated Ja) 147.68 416 T (v) 236.77 416 T (aBean is an instance of) 242.47 416 T 1 F (java.applet.Apple) 356.11 416 T 0 F (t then the) 440.77 416 T (ne) 488.44 416 T (w con-) 499.46 416 T (structed) 108 402 T 1 F (A) 148.99 402 T (pplet) 156.32 402 T 0 F (,) 180.32 402 T (\050Bean\051 w) 186.32 402 T (ill be passed to the) 230.64 402 T 1 F (Applet) 322.97 402 T (Initializer) 354.3 402 T 0 F ( v) 401.64 402 T (ia a call to) 410.64 402 T 1 F (initialize\050) 463.3 402 T (\051) 509.3 402 T (.) 513.3 402 T 0 F (Compliant implementations of) 108 376 T 1 F (AppletInitializer) 257.68 376 T (.initialize\050\051) 335.02 376 T 0 F ( shall:) 388.02 376 T (1.) 108 356 T (Associate the ne) 121.75 356 T (wly instantiated) 200.09 356 T 1 F (Applet) 279.42 356 T 0 F ( with the appropriate) 310.76 356 T 1 F (AppletConte) 413.4 356 T (xt) 473.17 356 T 0 F (.) 481.83 356 T (2.) 108 336 T (Instantiate an) 121.75 336 T 1 F (AppletStub) 189.07 336 T 0 F (\050\051 and associate that) 241.73 336 T 1 F (A) 340.37 336 T (p) 347.7 336 T (p) 353.7 336 T (l) 359.7 336 T (etStub) 363.04 336 T 0 F ( with the) 393.04 336 T 1 F (Applet) 438.04 336 T 0 F ( via) 469.37 336 T (an in) 121.75 318 T (v) 144.93 318 T (ocation of) 150.69 318 T 1 F (setStub) 202.01 318 T 0 F (\050\051.) 236.68 318 T (3.) 108 298 T (If) 121.75 298 T 1 F (BeanConte) 132.74 298 T (xt) 185.82 298 T 0 F ( parameter is) 194.49 298 T 5 F (null) 259.47 298 T 0 F (, then it shall associate the) 288.27 298 T 1 F (Applet) 417.26 298 T 0 F ( with its appropri-) 448.59 298 T (ate) 121.75 284 T 1 F (Container) 138.74 284 T 0 F ( by adding that) 187.41 284 T 1 F (Applet) 262.07 284 T 0 F ( to its) 293.4 284 T 1 F (Container) 323.08 284 T 0 F ( via an in) 371.75 284 T (v) 415.6 284 T (ocation of) 421.36 284 T 1 F (add) 472.68 284 T 0 F (\050\051. If the) 490.68 284 T 1 F -0.26 (BeanConte) 121.75 270 P -0.26 (xt) 174.83 270 P 0 F -0.26 ( parameter is non-) 183.5 270 P 5 F -0.62 (null) 269.7 270 P 0 F -0.26 (, then it is the responsibility of the) 298.5 270 P 1 F -0.26 (BeanConte) 463.43 270 P -0.26 (xt) 516.52 270 P 0 F -0.26 ( to) 525.18 270 P -0.14 (associate the) 121.75 256 P 1 F -0.14 (Applet) 185.45 256 P 0 F -0.14 ( with its) 216.78 256 P 1 F -0.14 (Container) 258.04 256 P 0 F -0.14 ( during the subsequent in) 306.71 256 P -0.14 (v) 426.33 256 P -0.14 (ocation of its) 432.08 256 P 1 F -0.14 (addChil-) 497.33 256 P (dr) 121.75 242 T (en) 131.97 242 T 0 F (\050\051 method.) 143.3 242 T -0.23 (Compliant implementations of) 108 216 P 1 F -0.23 (AppletInitializer) 256.99 216 P -0.23 (.activate\050\051) 334.33 216 P 0 F -0.23 ( shall mark the) 383.32 216 P 1 F -0.23 (Applet) 459.18 216 P 0 F -0.23 ( as acti) 490.51 216 P -0.23 (v) 523.08 216 P -0.23 (e,) 528.9 216 P (and may optionally also in) 108 202 T (v) 234.85 202 T (ok) 240.61 202 T (e the) 252.49 202 T 1 F (Applet) 278.48 202 T 0 F (\325) 309.82 202 T (s) 313.15 202 T 1 F (start\050\051) 320.82 202 T 0 F ( method.) 350.82 202 T (Note that if the ne) 108 176 T (wly instantiated Ja) 194.35 176 T (v) 283.44 176 T (aBean is not an instance of) 289.14 176 T 1 F (Applet) 421.12 176 T 0 F (, then the) 452.45 176 T 1 F (Apple-) 499.78 176 T (tInitializer) 108 162 T 0 F ( interf) 161.68 162 T (ace is ignored.) 190.55 162 T 108 126 540 146 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 108 134 240 134 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (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 -0.22 (AppletStub) 120 107.33 P 0 F -0.22 ( API\325) 163.89 107.33 P -0.22 (s as de\336ned, pro) 185.06 107.33 P -0.22 (vide no mechanism for the) 249.25 107.33 P 1 F -0.22 (AppletConte) 357.31 107.33 P -0.22 (xt) 407.11 107.33 P 0 F -0.22 ( to disco) 414.33 107.33 P -0.22 (v) 447.63 107.33 P -0.22 (er its) 452.48 107.33 P 1 F -0.22 (Applets) 474.26 107.33 P 0 F -0.22 ( from its) 504.26 107.33 P 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 88 158 90 658 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "12" 12 %%Page: "13" 13 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (13) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 2 16 Q (5.0 Standard/Suggested Con) 108 709.33 T (v) 304.72 709.33 T (entions f) 312.56 709.33 T (or BeanContext) 370.38 709.33 T (Delegates) 108 691.33 T 2 12 Q (5.0.1) 108 658 T (BeanContexts that support Inf) 138 658 T (oBus.) 294.04 658 T 0 F (The InfoBus technology is a standard e) 108 632 T (xtension package that is intended to f) 295.79 632 T (acilitate the) 474.31 632 T (rendezv) 108 618 T (ous and e) 145.74 618 T (xchange of dynamic self describing data, based upon a publish and sub-) 190.88 618 T (scribe abstraction, between Ja) 108 604 T (v) 251.05 604 T (aBean Components within a single Ja) 256.75 604 T (v) 436.84 604 T (a V) 442.54 604 T (irtual Machine.) 458.81 604 T -0.2 (A) 108 578 P 1 F -0.2 (BeanConte) 119.46 578 P -0.2 (xt) 172.55 578 P 0 F -0.2 ( that that e) 181.22 578 P -0.2 (xposes an) 230.77 578 P 1 F -0.2 (InfoBus) 280.36 578 P 0 F -0.2 ( to its nested) 317.69 578 P 1 F -0.2 (BeanConte) 380.23 578 P -0.2 (xtChild) 433.32 578 P 0 F -0.2 ( shall do so by) 468.66 578 P (e) 108 564 T (xposing a service via the) 113.15 564 T 1 F (hasService) 234.79 564 T 0 F (\050\051 and) 286.78 564 T 1 F (g) 318.1 564 T (etService) 323.98 564 T 0 F (\050\051 methods of type) 367.96 564 T 1 F (javax.info-) 459.28 564 T (b) 108 550 T (us.InfoBus.) 113.76 550 T 0 F (Thus) 108 524 T 1 F (BeanConte) 135 524 T (xtChild) 188.09 524 T 0 F ( implementations may locate a common) 223.43 524 T 1 F (InfoBus) 418.08 524 T 0 F ( implementation) 455.41 524 T (for their current) 108 510 T 1 F (BeanConte) 186.97 510 T (xt) 240.06 510 T 0 F ( by using this mechanism to rendezv) 248.72 510 T (ous with that) 423.8 510 T 1 F (InfoBus) 488.81 510 T 0 F (instance.) 108 496 T 2 F (5.0.2 BeanContexts that support printing) 108 464 T 0 F (A) 108 438 T 1 F (BeanConte) 119.66 438 T (xt) 172.75 438 T 0 F ( that wishes to e) 181.42 438 T (xpose printing f) 258.56 438 T (acilities to its descendants may dele) 334.44 438 T (g) 505.91 438 T (ate a) 511.85 438 T (reference of \050sub\051type) 108 424 T 1 F (java.awt.PrintJ) 216.95 424 T (ob) 290.65 424 T 0 F (.) 302.17 424 T 2 F (5.0.3 BeanContext Design/Runtime mode support.) 108 392 T 0 F (Ja) 108 366 T (v) 117.76 366 T (aBeans support the concepts of \322design\323-mode, when Ja) 123.46 366 T (v) 393.16 366 T (aBeans are being manipu-) 398.86 366 T (lated and composed by a de) 108 352 T (v) 240.67 352 T (eloper in an Application Builder or IDE, and \322Run\323-mode,) 246.49 352 T (when the resulting Ja) 108 338 T (v) 209.41 338 T (aBeans are instantiated at runtime as part of an) 215.11 338 T 1 F (Applet) 442.73 338 T 0 F (, Application) 474.06 338 T (or some other e) 108 324 T (x) 182.14 324 T (ecutable abstraction.) 187.96 324 T -0.05 (In the \336rst v) 108 298 P -0.05 (ersion of the speci\336cation, the \322mode\323 or state, that is \322design\323-time or \322run\323-) 166 298 P -0.03 (time w) 108 284 P -0.03 (as a JVM global attrib) 140.85 284 P -0.03 (ute. This is insuf) 247.14 284 P -0.03 (\336cient since, for e) 326.76 284 P -0.03 (xample, in an Application) 412.46 284 P (Builder en) 108 270 T (vironment, there may be Ja) 157.85 270 T (v) 287.92 270 T (aBeans that function, in \322run\323-mode, as part of the) 293.62 270 T (Application Builder en) 108 256 T (vironment itself, as well as the Ja) 217.51 256 T (v) 376.92 256 T (aBeans that function, in) 382.62 256 T (\322design\323-mode, under construction by the de) 108 242 T (v) 322.99 242 T (eloper using the Application Builder to) 328.81 242 T (compose an application.) 108 228 T (Therefore we require the ability to scope this \322mode\323 at a granularity belo) 108 202 T (w that of JVM) 462.95 202 T (global.) 108 188 T (The) 108 162 T 1 F (BeanConte) 129.66 162 T (xt) 182.75 162 T 0 F (abstraction, as a \322Container\323 or \322Conte) 194.41 162 T (xt\323 for one or more Ja) 382.19 162 T (v) 487.58 162 T (aBeans) 493.28 162 T (pro) 108 148 T (vides appropriate mechanism to better scope this \322mode\323.) 123.82 148 T -0.39 (Thus) 108 122 P 1 F -0.39 (BeanConte) 134.61 122 P -0.39 (xt) 187.7 122 P 0 F -0.39 (\325) 196.36 122 P -0.39 (s that wish to e) 199.7 122 P -0.39 (xpose and propag) 269.95 122 P -0.39 (ate this \322mode\323 to its descendants may) 353.76 122 P (dele) 108 108 T (g) 127.81 108 T (ate a reference of type) 133.75 108 T 1 F (java.beans.BeanConte) 243.36 108 T (xtMode) 351.11 108 T 0 F (:) 387.1 108 T 5 F (public interface java.beans.DesignMode {) 108 88 T (void setDesignTime\050boolean isDesignTime\051;) 144 72 T 88 492 90 666 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "13" 13 %%Page: "14" 14 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (14) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 12 Q (boolean isDesignTime\050\051;) 144 748 T (}) 108 732 T 0 F -0.03 (Additionally) 108 706 P -0.03 (,) 167.89 706 P 1 F -0.03 (BeanConte) 173.87 706 P -0.03 (xt) 226.95 706 P 0 F -0.03 (s dele) 235.62 706 P -0.03 (g) 263.07 706 P -0.03 (ating such a reference shall be required to \336re the appro-) 269.01 706 P (priate) 108 692 T 1 F (java.beans.pr) 138.32 692 T (opertyChang) 203.11 692 T (eEvent,) 265.66 692 T 0 F ( with propertyName = \322designT) 301.31 692 T (ime\323, with the) 454.3 692 T (appropriate v) 108 678 T (alues for) 171.35 678 T 1 F (oldV) 216 678 T (alue) 237.34 678 T 0 F ( and) 258 678 T 1 F (ne) 281.33 678 T (wV) 292.48 678 T (alue) 306.48 678 T (,) 327.02 678 T 0 F ( when the \322mode\323 changes v) 330.02 678 T (alue.) 467.35 678 T (Note that it is ille) 108 652 T (g) 191.16 652 T (al for instances of) 197.1 652 T 1 F (BeanConte) 285.74 652 T (xtChild) 338.83 652 T 0 F ( to call) 374.17 652 T 1 F (setDesignT) 409.84 652 T (ime\050\051) 463.18 652 T 0 F ( on) 488.5 652 T (instances o) 108 638 T (f) 160.99 638 T 1 F (BeanConte) 167.99 638 T (xt) 221.08 638 T 0 F (that the) 232.74 638 T (y are nested within.) 268.22 638 T 2 F (5.0.4 BeanContext V) 108 606 T (isibility support.) 215.88 606 T 0 F (Ja) 108 580 T (v) 117.76 580 T (aBeans with associated presentation, or GUI, may be instantiated in en) 123.46 580 T (vironments) 462.25 580 T (where the ability to present that GUI is either not ph) 108 566 T (ysically possible \050when the hardw) 358.57 566 T (are) 521.76 566 T (is not present\051, or is not appropriate under the current conditions \050running in a serv) 108 552 T (er con-) 504.76 552 T (te) 108 538 T (xt instead of a client\051.) 116.48 538 T (The \336rst v) 108 512 T (ersion of the Ja) 157.15 512 T (v) 229.9 512 T (aBeans Speci\336cation introduced the) 235.6 512 T 1 F (java.beans.V) 410.9 512 T (isibility) 472.01 512 T 0 F ( inter-) 508.02 512 T -0.14 (f) 108 498 P -0.14 (ace in order to pro) 111.88 498 P -0.14 (vide a mechanism for Ja) 199.09 498 P -0.14 (v) 314.91 498 P -0.14 (aBeans to ha) 320.61 498 P -0.14 (v) 381.4 498 P -0.14 (e their \322visible\323 state, or ability) 387.22 498 P (to render a GUI, controlled from their en) 108 484 T (vironment.) 303.47 484 T 1 F -0.42 (BeanConte) 108 458 P -0.42 (xt) 161.09 458 P 0 F -0.42 (s that wish to enforce a particular polic) 169.75 458 P -0.42 (y re) 353.57 458 P -0.42 (g) 371.29 458 P -0.42 (arding the ability of their children) 377.23 458 P (to present GUI, should use the) 108 444 T 1 F (java.beans.V) 256.98 444 T (isibility) 318.08 444 T 0 F ( interf) 354.1 444 T (ace to control their children,) 382.97 444 T (ho) 108 430 T (we) 119.7 430 T (v) 133.39 430 T (er this mechanism in of itself may be insuf) 139.21 430 T (\336cient.) 343.56 430 T -0.22 (Therefore) 108 404 P 1 F -0.22 (BeanConte) 158.09 404 P -0.22 (xts) 211.18 404 P 0 F -0.22 ( that implement visibility polic) 224.51 404 P -0.22 (y shall dele) 371.48 404 P -0.22 (g) 425.53 404 P -0.22 (ate a reference of type) 431.47 404 P 1 F (java.beans.visibilityState) 108 390 T 0 9.6 Q (1) 228 394.8 T 1 12 Q (:) 232.8 390 T 5 F (public interface java.beans.VisibilityState {) 108 370 T (boolean isOkToUseGui\050\051;) 144 354 T (}) 108 338 T 0 F -0.03 (Additionally) 108 312 P -0.03 (,) 167.89 312 P 1 F -0.03 (BeanConte) 173.87 312 P -0.03 (xts) 226.95 312 P 0 F -0.03 ( dele) 240.29 312 P -0.03 (g) 263.07 312 P -0.03 (ating such a reference shall be required to \336re the appro-) 269.01 312 P (priate) 108 298 T 1 F (java.beans.pr) 138.32 298 T (opertyChang) 203.11 298 T (eEvent) 265.66 298 T 0 F (, with) 298.31 298 T 1 F (pr) 328.64 298 T (opertyName) 338.77 298 T 0 F (= \322okT) 400.43 298 T (oUseGui\323, with the) 433.9 298 T (appropriate v) 108 284 T (alues for) 171.35 284 T 1 F (oldV) 216 284 T (alue) 237.34 284 T 0 F ( and) 258 284 T 1 F (ne) 281.33 284 T (wV) 292.48 284 T (alue) 306.48 284 T 0 F (, when the \322state\323 changes v) 327.14 284 T (alue.) 462.8 284 T (Children of a) 108 258 T 1 F (BeanConte) 174.32 258 T (xt) 227.41 258 T 0 F ( instance that does not dele) 236.08 258 T (g) 365.54 258 T (ate such an interf) 371.48 258 T (ace shall assume) 453.67 258 T (that it is permitted to render their associated GUI, if an) 108 244 T (y) 370.78 244 T (, at an) 376 244 T (y time.) 404.81 244 T (The mechanism for setting the v) 108 218 T (alue of the \322state\323, is implementation dependent, b) 262.68 218 T (ut) 505.4 218 T (w) 108 204 T (ould typically be implemented or dele) 116.54 204 T (g) 298.68 204 T (ated through a) 304.62 204 T 1 F (java.beans.visibility) 376.27 204 T 0 F ( interf) 472.27 204 T (ace.) 501.14 204 T 2 F (5.0.5 Determining Locale fr) 108 172 T (om a BeanContext) 251.76 172 T 1 F -0.2 (BeanConte) 108 146 P -0.2 (xt) 161.09 146 P 0 F -0.2 (s may ha) 169.75 146 P -0.2 (v) 211.76 146 P -0.2 (e a locale associated with them, in order to associate and propag) 217.58 146 P -0.2 (ate) 523.21 146 P (this important attrib) 108 132 T (ute across the Ja) 203.1 132 T (v) 281.17 132 T (aBeans nested therein.) 286.87 132 T 108 102 540 122 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 108 110 240 110 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 0 10 Q 0 X 0 0 0 1 0 0 0 K (1.) 108 95.33 T (Reusing ja) 120 95.33 T (v) 162.3 95.33 T (a.beans.visibility here, instead of de\336ning a ne) 167.05 95.33 T (w interf) 352.61 95.33 T (ace, w) 383.89 95.33 T (ould be nice b) 409.33 95.33 T (ut since it com-) 465.51 95.33 T (bines setters and getters it seems unsuitable as a mechanism for propag) 120 83.33 T (ating state do) 404.07 83.33 T (wn the hierarch) 457.15 83.33 T (y) 519.3 83.33 T (since it w) 120 71.33 T (ould also \050theoretically\051 allo) 158.23 71.33 T (w it to propag) 271.02 71.33 T (ate up also.) 326.8 71.33 T 88 634 90 646 R V 88 128 90 154 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "14" 14 %%Page: "15" 15 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] 7 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 108 54 540 54 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 8 Q (A Draft Proposal to de\336ne an Extensible Runtime Containment and Services Protocol for Ja) 108 42.62 T (v) 402.26 42.62 T (aBeans \050V) 406.06 42.62 T (ersion 0.97\051) 438.71 42.62 T (August 26, 1997) 476.93 42.62 T (15) 532 42.62 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 12 Q (Therefore,) 108 748 T 1 F (BeanConte) 161.3 748 T (xt) 214.39 748 T 0 F (s, shall be required to \336re the appropriate) 223.06 748 T 1 F ( java.beans.Pr) 420.35 748 T (operty-) 489.47 748 T (Chang) 108 734 T (eEvent) 139.88 734 T 0 F (, with propertyName = \322locale\323,) 172.54 734 T 1 F (oldV) 330.26 734 T (alue) 351.6 734 T 0 F ( = the reference to the pre) 372.26 734 T (vious) 495.35 734 T -0.04 (v) 108 720 P -0.04 (alue of the) 113.7 720 P 1 F -0.04 (Locale) 167.23 720 P 0 F -0.04 ( dele) 199.9 720 P -0.04 (g) 222.67 720 P -0.04 (ate, and) 228.61 720 P 1 F -0.04 (ne) 268.85 720 P -0.04 (wV) 280 720 P -0.04 (alue) 294 720 P 0 F -0.04 ( = the reference to the ne) 314.67 720 P -0.04 (w v) 433.52 720 P -0.04 (alue of the) 450.84 720 P 1 F -0.04 (Locale) 504.38 720 P 0 F (dele) 108 706 T (g) 127.81 706 T (ate, in order to notify its Listeners of) 133.75 706 T (an) 312.73 706 T (y c) 323.88 706 T (hange in) 338.21 706 T 1 F (Locale) 382.2 706 T 0 F (.) 414.86 706 T (Setting) 108 680 T ( and getting t) 142.01 680 T (he v) 205.01 680 T (alue of the) 225.04 680 T 1 F (Locale) 278.69 680 T 0 F ( on the) 311.35 680 T 1 F (BeanConte) 347.02 680 T (xt) 400.1 680 T 0 F ( is implementation depen-) 408.77 680 T (dent.) 108 666 T 2 F (5.0.6 BeanContexts or J) 108 634 T (a) 232.48 634 T (v) 238.18 634 T (aBeans that ha) 244.06 634 T (v) 319.76 634 T (e associated pr) 325.64 634 T (esentation.) 400.75 634 T 0 F (Ja) 108 608 T (v) 117.76 608 T (aBeans and) 123.46 608 T 1 F (BeanConte) 181.44 608 T (xts) 234.53 608 T 0 F ( that are associated with the presentation of a GUI shall) 247.86 608 T (either directly implement, or dele) 108 594 T (g) 268.13 594 T (ate a reference to,) 274.07 594 T 1 F (java.awt.Component) 362.35 594 T 0 F (and/or) 464.69 594 T 1 F (java.awt.Container) 108 580 T 0 F (.) 200.02 580 T (Du) 108 554 T (ring the in) 122.66 554 T (v) 171.52 554 T (ocation of) 177.28 554 T 1 F (add) 228.6 554 T (\050) 246.6 554 T (\051) 250.6 554 T 0 F ( t) 254.59 554 T (he nesting) 260.93 554 T 1 F (BeanConte) 312.92 554 T (xt) 366.01 554 T 0 F (implementation) 377.18 554 T (may d) 455.51 554 T (etermine) 485.18 554 T (the) 108 540 T 1 F (java.awt.Component) 125.66 540 T 0 F ( \050) 225 540 T (if an) 232 540 T (y\051 of the child) 253.48 540 T ( i) 321.13 540 T (t is adding and perform the necessary steps) 327.47 540 T (to cause its o) 108 526 T (wn) 170.03 526 T 1 F (Container) 187.69 526 T 0 F ( and the child) 236.36 526 T (\325) 301.36 526 T (s) 304.69 526 T 1 F (Componen) 312.36 526 T (t) 364.36 526 T 0 F ( t) 367.69 526 T (o be associated as de\336ned by the) 374.03 526 T 1 F (Container) 108 512 T 0 F (\325) 156.67 512 T (s) 160.01 512 T 1 F (add) 167.68 512 T 0 F (\050) 185.68 512 T (\051 semantics.) 189.67 512 T (Similarly) 108 486 T (, during) 151.9 486 T 1 F (r) 192.23 486 T (emo) 196.45 486 T (ve) 216.32 486 T (\050) 226.98 486 T (\051) 230.98 486 T 0 F ( the nesting) 234.97 486 T 1 F (BeanConte) 293.3 486 T (xt) 346.39 486 T 0 F ( shall disassociate the child) 355.06 486 T (\325) 485.71 486 T (s) 489.05 486 T 1 F (Compo-) 496.72 486 T (nent) 108 472 T 0 F ( \050) 128.66 472 T (if an) 135.66 472 T (y\051 from its o) 157.14 472 T (wn) 216.5 472 T 1 F (Container) 234.17 472 T 0 F (.) 282.18 472 T 2 16 Q (6.0) 108 431.33 T (ja) 136 431.33 T (v) 148.93 431.33 T (a.beans.beancontext.BeanContextSupport) 156.77 431.33 T 0 12 Q (In order to ease the implementation of this relati) 108 404 T (v) 339 404 T (ely comple) 344.82 404 T (x protocol a \322helper\323 class is) 397.63 404 T -0.25 (pro) 108 390 P -0.25 (vided;) 123.82 390 P 1 F -0.25 (java.beans.beanconte) 156.56 390 P -0.25 (xt.BeanConte) 260.3 390 P -0.25 (xtSupport) 325.05 390 P 0 F -0.25 (. This class is designed to either be) 371.72 390 P (subclassed, or dele) 108 376 T (g) 198.13 376 T (ated \050either e) 204.07 376 T (xplicitly or implicitly\051 by another object, and pro) 266.53 376 T (vides a) 501.67 376 T (fully compliant \050e) 108 362 T (xtensible\051 implementation of the protocols embodied herein.) 193.81 362 T 88 744 90 756 R V 88 676 90 714 R V 88 332 90 562 R V 0 0 0 1 0 0 0 K FMENDPAGE %%EndPage: "15" 15 %%Trailer %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 15 %%DocumentFonts: Times-Roman %%+ Times-Italic %%+ Times-Bold %%+ Times-BoldItalic %%+ Courier-Bold %%+ Courier %%EOF .