%!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 /Helvetica-Bold FMFONTDEFINE 1 0 /Times-Roman FMFONTDEFINE 2 0 /Times-Italic FMFONTDEFINE 3 0 /Times-Bold FMFONTDEFINE 4 0 /Courier-Bold FMFONTDEFINE 5 0 /Helvetica FMFONTDEFINE 6 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (December 8, 1997) 72 737.98 T 72 -90/G30237 FmPA 72 444.68 558 444.68 2 L 2 Z N 72 75.33 558 75.33 2 L 0.25 H N 0 10 Q (1) 527.82 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 588/G30239 FmPA 0 0 0 1 0 0 0 K 0 102 708 194 748 102.77 44.68 72.71 659.17 FMBEGINEPSF %%BeginDocument: %!PS-Adobe-3.0 EPSF-3.0 %%Title: /home/ichiban/jwasan/sun_black.epsi %%Creator: IslandDraw for jwasan %%CreationDate: Thu Sep 19 15:11:28 1996 %%Pages: 1 %%BoundingBox: 102 708 194 748 %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) %%EndComments save /d_sv_obj exch def userdict /IslandDrawDict 300 dict dup begin put /bdef {bind def} bind def /E {exch} bdef /FF {findfont} bdef /MF {makefont} bdef /RO {rotate} bdef /SC {scale} bdef /SF {setfont} bdef /SG {setgray} bdef /TR {translate} bdef /bp {lj lw rgb} bdef /bpbw {lj lw setgray} bdef /c {curveto} bdef /cl {closepath} bdef /fi {eofill} bdef /g {setgray} bdef /gr {grestore} bdef /gs {gsave} bdef /l {lineto} bdef /lj {setlinejoin} bdef /lw {setlinewidth} bdef /m {moveto} bdef /n {newpath} bdef /nx {/x E def} bdef /r {rmoveto} bdef /rl {rlineto} bdef /rgb {setrgbcolor} bdef /s {show} bdef /sd {setdash} bdef /sp {x 0 rmoveto} bdef /ss {currentpoint pop E m} bdef /st {stroke} bdef %% pattern stuff /BPSIDE 32 def %% pixels per pattern side /PATFREQ 3.0 def %% pattern pixels per mm /dp_mat [PATFREQ 0 0 PATFREQ 0 0] def /dp_pw BPSIDE def %% pattern pixel width /dp_ph BPSIDE def %% pattern pixel height /dp_w dp_pw PATFREQ div def %% pattern mm width /dp_h dp_ph PATFREQ div def %% pattern mm height /savemat matrix def /topmat matrix def /patmat matrix def %% catch nocurrentpoint error for: pathbbox /ncpoint errordict /nocurrentpoint get def errordict begin /nocurrentpoint { dup /pathbbox load eq {pop 0 0 1 1} {ncpoint} ifelse } bdef end /ar { %% sa ea sx sy rot tx ty matrix currentmatrix 8 1 roll TR RO SC n 0 0 1 5 3 roll arc setmatrix } bdef /arn { %% sa ea sx sy rot tx ty TR RO SC matrix currentmatrix 8 1 roll n 0 0 1 5 3 roll arcn setmatrix } bdef /el { %% sx sy rot tx ty matrix currentmatrix 6 1 roll TR RO SC n 0 0 1 0 360 arc setmatrix cl } bdef /image_raster { %% sw sh sd dw dh xs ys TR SC /sd E def /sh E def /sw E def /imagebuf sw sd mul 7 add 8 idiv string def sw sh sd [sw 0 0 sh 0 0] { currentfile imagebuf readhexstring pop} image } bdef /imagemask_raster { TR SC /sh E def /sw E def /imagebuf sw 7 add 8 idiv string def sw sh false [sw 0 0 sh 0 0] {currentfile imagebuf readhexstring pop} imagemask } bdef /dither_color_raster { % bool sw sh sd dw dh xs ys TR SC /sd E def /sh E def /sw E def sd 8 eq and { /imagebuf 3 string def /grayval 1 string def sw sh sd [sw 0 0 sh 0 0] { currentfile imagebuf readhexstring pop pop imagebuf 0 get 0.299 mul imagebuf 1 get 0.587 mul add imagebuf 2 get 0.114 mul add cvi grayval exch 0 exch put grayval } image } { /imagebuf sw 3 mul sd mul 7 add 8 idiv string def sh { currentfile imagebuf readhexstring pop pop } repeat } ifelse } bdef /image_color_raster { % bool sw sh sd dw dh xs ys /colorimage where not { dither_color_raster } { pop TR SC /sd E def /sh E def /sw E def pop /imagebuf sw 3 mul sd mul 7 add 8 idiv string def sw sh sd [sw 0 0 sh 0 0] { currentfile imagebuf readhexstring pop} false 3 colorimage } ifelse } bdef /patpath { /inv E def topmat setmatrix pathbbox %% get lo - hi indecies /hy E dp_h div floor cvi def /hx E dp_w div floor cvi def /ly E dp_h div floor cvi def /lx E dp_w div floor cvi def lx 1 hx { dp_w mul ly 1 hy { dp_h mul E dup 3 1 roll E patmat currentmatrix pop TR dp_pw dp_ph inv dp_mat dp_proc imagemask patmat setmatrix } for pop } for } bdef % setpattern brush of patterns instead of gray /setpattern { /blue E def /green E def /red E def /freq E def /bwidth E def /bpside E def /bstring E def /onbits 0 def /offbits 0 def freq 0 {/y E def /x E def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get not 1 7 xindex 8 mod sub bitshift and 0 ne {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen {} settransfer systemdict /setcmykcolor known { /fact 1 onbits offbits onbits add div sub def 1 red sub fact mul 1 green sub fact mul 1 blue sub fact mul 0 setcmykcolor } { offbits offbits onbits add div setgray} ifelse } bdef /dmatrix matrix def /dpi 72 0 dmatrix defaultmatrix dtransform dup mul E dup mul add sqrt def /B {gs bp st gr} bdef %% brush: gr lw lj /Bbw {gs bpbw st gr} bdef %% brush: gr lw lj /F {gs rgb eofill gr} bdef %% fill: gr /Fbw {gs setgray eofill gr} bdef %% fill: gr /PB {gs lj lw setpattern st gr} bdef /PF {gs eoclip patpath gr} bdef /BB {gs rgb lj lw strokepath clip patpath gr} bdef /xdef {exch def} bdef /clip_region { /ht xdef /wd xdef /bm xdef /lm xdef newpath lm bm moveto 0 ht rlineto wd 0 rlineto 0 ht neg rlineto closepath clip } bdef %! Island text prolog Version 3.1 %% %%BeginProlog /reencode_small_dict 12 dict def /ReencodeSmall { reencode_small_dict begin /new_codes_and_names exch def /new_font_name exch def /base_font_name exch def /base_font_dict base_font_name findfont def /newfont base_font_dict maxlength dict def base_font_dict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName new_font_name put new_codes_and_names aload pop new_codes_and_names length 2 idiv { newfont /Encoding get 3 1 roll put } repeat new_font_name newfont definefont pop end %reencode_small_dict } def /extended_Zapf [ 8#223 /a89 8#224 /a90 8#225 /a93 8#226 /a94 8#227 /a91 8#230 /a92 8#231 /a205 8#232 /a85 8#233 /a206 8#234 /a86 8#235 /a87 8#236 /a88 8#237 /a95 8#240 /a96 ] def /extended_Standard [ 29 /thorn 30 /yacute 31 /divide 128 /Acircumflex 129 /Adieresis 130 /Agrave 131 /Aring 132 /Atilde 133 /Ccedilla 134 /Eacute 135 /Ecircumflex 136 /Edieresis 137 /Egrave 138 /Iacute 139 /Icircumflex 140 /Idieresis 141 /Igrave 142 /Ntilde 143 /Oacute 144 /Ocircumflex 145 /Odieresis 146 /Ograve 147 /Otilde 148 /Scaron 149 /Uacute 150 /Ucircumflex 151 /Udieresis 152 /Ugrave 153 /Ydieresis 154 /Zcaron 155 /aacute 156 /acircumflex 157 /adieresis 158 /agrave 159 /aring 160 /atilde 161 /exclamdown 162 /cent 163 /sterling 164 /fraction 165 /yen 166 /florin 167 /section 168 /currency 169 /quotesingle 170 /quotedblleft 171 /guillemotleft 172 /guilsinglleft 173 /guilsinglright 174 /fi 175 /fl 176 /plusminus 177 /endash 178 /dagger 179 /daggerdbl 180 /periodcentered 181 /twosuperior 182 /paragraph 183 /bullet 184 /quotesinglbase 185 /quotedblbase 186 /quotedblright 187 /guillemotright 188 /ellipsis 189 /perthousand 190 /threesuperior 191 /questiondown 192 /mu 193 /grave 194 /acute 195 /circumflex 196 /tilde 197 /macron 198 /breve 199 /dotaccent 200 /dieresis 201 /onesuperior 202 /ring 203 /cedilla 204 /onequarter 205 /hungarumlaut 206 /ogonek 207 /caron 208 /emdash 209 /ccedilla 210 /copyright 211 /eacute 212 /ecircumflex 213 /edieresis 214 /egrave 215 /iacute 216 /icircumflex 217 /idieresis 218 /igrave 219 /logicalnot 220 /minus 221 /ntilde 222 /oacute 223 /ocircumflex 224 /odieresis 225 /AE 226 /onehalf 227 /ordfeminine 228 /ograve 229 /otilde 230 /registered 231 /scaron 232 /Lslash 233 /Oslash 234 /OE 235 /ordmasculine 236 /trademark 237 /uacute 238 /ucircumflex 239 /udieresis 240 /ugrave 241 /ae 242 /ydieresis 243 /zcaron 244 /Aacute 245 /dotlessi 246 /threequarters 247 /Eth 248 /lslash 249 /oslash 250 /oe 251 /germandbls 252 /multiply 253 /Yacute 254 /Thorn 255 /eth ] def /extended_Symbol [ ] def /extend_font { % stack: fontname newfontname exch dup (ZapfDingbats) eq { cvn exch cvn extended_Zapf ReencodeSmall } { dup (Symbol) eq { cvn exch cvn extended_Symbol ReencodeSmall } { cvn exch cvn extended_Standard ReencodeSmall } ifelse } ifelse } bind def /extend_font_name { % stack: font_name_string dup length 1 add string /extended_font_name exch def extended_font_name 0 (_) putinterval extended_font_name 1 3 -1 roll putinterval extended_font_name } bind def /gf { /f exch def f cvn where { f exch begin cvn load exec setfont end } { f 0 f length 8 sub getinterval dup /localfont exch extend_font_name def localfont extend_font localfont findfont /xsz f f length 4 sub 4 getinterval cvi def /ysz f f length 8 sub 4 getinterval cvi def [ xsz 0 0 ysz neg 0 0 ] makefont dup f cvn exch def setfont } ifelse } bind def /gfns { /f exch def f cvn where { f exch begin cvn load exec setfont end } { f 0 f length 8 sub getinterval cvn findfont /xsz f f length 4 sub 4 getinterval cvi def /ysz f f length 8 sub 4 getinterval cvi def [ xsz 0 0 ysz neg 0 0 ] makefont dup f cvn exch def setfont } ifelse } bind def /ul { % space drop thickness gs currentpoint currentlinewidth currentpoint n m 6 -3 roll lw 0 exch r 0 rl st lw m gr } bind def /nxtab { currentpoint pop 1000.0 mul cvi tab mod tab exch sub 1000.0 div 0 rmoveto } bind def /nx { /x exch def } bind def 0. nx %%EndProlog gsave 2.83465 -2.83465 scale 0 -279.4 translate topmat currentmatrix pop n 50.579 18.898 m 50.538 21.026 52.929 22.027 52.888 23.89 c 52.888 24.404 52.499 25.739 51.136 25.712 c 50.454 25.698 49.801 25.239 49.815 24.057 c 49.815 23.222 l 49.801 23.153 49.801 23.07 49.745 23 c 49.703 22.958 49.62 22.93 49.551 22.958 c 49.425 23.028 49.397 23.167 49.342 23.278 c 49.273 23.64 49.189 24.015 49.119 24.377 c 49.105 24.404 49.147 24.404 49.119 24.404 c 49.064 24.669 49.022 24.947 49.008 25.211 c 48.994 25.378 49.105 25.517 49.245 25.6 c 49.759 25.878 50.413 26.073 51.136 26.087 c 52.902 26.115 54.348 24.571 54.376 23.07 c 54.389 21.86 53.708 21.164 52.957 20.261 c 52.582 19.788 51.831 19.134 51.859 18.272 c 51.859 17.577 52.429 16.798 53.472 16.812 c 54.876 16.84 54.654 18.328 54.681 19.009 c 54.681 19.079 54.681 19.148 54.737 19.176 c 54.793 19.232 54.876 19.246 54.946 19.218 c 54.987 19.176 55.015 19.148 55.029 19.106 c 55.377 17.8 l 55.433 17.563 55.544 17.327 55.544 17.049 c 55.544 16.979 55.488 16.91 55.419 16.854 c 54.681 16.465 54.237 16.409 53.555 16.395 c 51.831 16.367 50.593 17.591 50.579 18.898 c cl 54.782 21.484 m 54.782 21.554 54.837 21.624 54.921 21.624 c 55.101 21.624 55.199 21.262 55.644 20.664 c 55.894 20.288 56.214 19.996 56.381 19.996 c 56.506 19.996 56.52 20.094 56.52 20.177 c 56.52 20.594 54.935 23.932 54.935 25.239 c 54.935 25.642 55.101 26.031 55.616 26.031 c 56.839 26.031 58.161 24.488 59.106 23.097 c 59.148 23.056 59.176 23.056 59.162 23.125 c 58.967 23.695 58.689 24.78 58.689 25.447 c 58.689 25.726 58.745 26.059 59.189 26.059 c 60.274 26.059 61.679 23.932 61.679 23.431 c 61.679 23.348 61.651 23.264 61.553 23.264 c 61.387 23.264 61.331 23.542 61.15 23.848 c 60.816 24.377 60.274 25.072 60.01 25.072 c 59.913 25.072 59.913 24.961 59.913 24.877 c 59.913 24.168 61.609 19.538 61.609 19.399 c 61.609 19.287 61.595 19.218 61.428 19.218 c 61.317 19.218 61.136 19.204 60.886 19.204 c 60.427 19.204 60.399 19.274 60.357 19.357 c 60.135 19.788 59.801 21.164 59.134 22.374 c 58.23 23.946 57.006 25.183 56.492 25.183 c 56.311 25.183 56.2 25.044 56.2 24.836 c 56.2 24.14 57.883 20.539 57.883 19.663 c 57.883 19.454 57.771 19.037 57.271 19.037 c 55.922 19.037 54.782 21.234 54.782 21.484 c cl 67.509 19.051 m 66.16 19.051 64.727 21.192 64.241 21.916 c 64.213 21.985 64.199 21.957 64.213 21.902 c 64.449 21.039 64.727 20.275 64.727 19.704 c 64.727 19.357 64.561 19.009 64.116 19.009 c 63.17 19.009 61.793 20.872 61.793 21.331 c 61.793 21.429 61.821 21.498 61.891 21.498 c 62.058 21.498 62.197 21.178 62.447 20.845 c 62.767 20.455 63.156 19.955 63.393 19.955 c 63.434 19.955 63.476 19.983 63.476 20.122 c 63.476 20.706 62.28 24.001 61.78 25.642 c 61.724 25.823 61.835 25.864 62.364 25.864 c 62.739 25.864 62.92 25.92 62.989 25.628 c 63.295 24.53 63.865 23.306 64.491 22.235 c 65.061 21.234 66.285 19.788 66.966 19.788 c 67.119 19.788 67.217 19.899 67.217 20.136 c 67.217 20.831 65.437 24.154 65.492 25.42 c 65.506 25.781 65.631 26.045 66.09 26.045 c 67.147 26.045 68.079 24.571 68.51 23.793 c 68.579 23.668 68.691 23.528 68.593 23.376 c 68.565 23.32 68.51 23.292 68.44 23.292 c 68.399 23.292 68.357 23.334 68.329 23.376 c 68.037 23.89 67.397 25.016 66.966 25.044 c 66.883 25.044 66.841 24.961 66.841 24.891 c 66.841 24.39 68.399 21.151 68.399 20.052 c 68.399 19.315 67.995 19.051 67.509 19.051 c cl 0 0 0 F n 37.927 22.069 m 37.526 22.47 36.877 22.469 36.476 22.069 c 36.076 21.668 36.075 21.018 36.476 20.618 c 38.852 18.242 l 39.488 18.877 l 37.095 21.27 l 37.275 21.45 l 39.667 19.057 l 40.303 19.692 l 37.927 22.069 l cl 0 0 0 F n 39.777 20.592 m 40.178 20.191 40.827 20.191 41.228 20.592 c 41.629 20.992 41.629 21.642 41.228 22.043 c 38.852 24.419 l 38.217 23.784 l 40.609 21.391 l 40.43 21.211 l 38.037 23.604 l 37.401 22.968 l 39.777 20.592 l cl 0 0 0 F n 42.858 25.522 m 43.259 25.922 43.259 26.572 42.858 26.972 c 42.457 27.373 41.807 27.373 41.407 26.972 c 39.031 24.596 l 39.666 23.961 l 42.059 26.354 l 42.239 26.174 l 39.846 23.781 l 40.482 23.145 l 42.858 25.522 l cl 0 0 0 F n 41.381 23.671 m 40.98 23.271 40.98 22.621 41.381 22.221 c 41.781 21.82 42.431 21.82 42.832 22.221 c 45.208 24.597 l 44.573 25.232 l 42.18 22.84 l 42 23.019 l 44.393 25.412 l 43.757 26.048 l 41.381 23.671 l cl 0 0 0 F n 44.462 22.068 m 44.062 22.469 43.412 22.468 43.012 22.068 c 42.611 21.667 42.611 21.017 43.012 20.616 c 45.388 18.241 l 46.023 18.876 l 43.631 21.269 l 43.81 21.448 l 46.203 19.056 l 46.839 19.692 l 44.462 22.068 l cl 0 0 0 F n 46.313 20.591 m 46.713 20.19 47.363 20.19 47.763 20.591 c 48.164 20.992 48.164 21.642 47.763 22.042 c 45.387 24.418 l 44.752 23.782 l 47.145 21.39 l 46.965 21.21 l 44.572 23.603 l 43.936 22.967 l 46.313 20.591 l cl 0 0 0 F n 42.858 18.987 m 43.259 19.388 43.259 20.037 42.858 20.438 c 42.457 20.839 41.807 20.839 41.407 20.438 c 39.031 18.062 l 39.666 17.426 l 42.059 19.819 l 42.239 19.64 l 39.846 17.247 l 40.482 16.611 l 42.858 18.987 l cl 0 0 0 F n 41.381 17.137 m 40.98 16.736 40.98 16.087 41.381 15.686 c 41.781 15.286 42.431 15.286 42.832 15.686 c 45.208 18.062 l 44.573 18.698 l 42.18 16.305 l 42 16.484 l 44.393 18.877 l 43.757 19.513 l 41.381 17.137 l cl 0 0 0 F n 51.433 28.821 m 51.433 27.9 l 51.433 27.7 51.386 27.573 51.193 27.573 c 50.981 27.573 50.779 27.79 50.779 28.136 c 50.779 28.821 l 50.514 28.821 l 50.514 27.897 l 50.514 27.718 50.475 27.573 50.273 27.573 c 50.047 27.573 49.859 27.807 49.859 28.136 c 49.859 28.821 l 49.592 28.821 l 49.592 27.386 l 49.851 27.386 l 49.851 27.469 49.845 27.599 49.827 27.686 c 49.833 27.689 l 49.919 27.487 50.109 27.357 50.347 27.357 c 50.66 27.357 50.743 27.568 50.755 27.683 c 50.817 27.547 50.975 27.357 51.261 27.357 c 51.541 27.357 51.701 27.504 51.701 27.828 c 51.701 28.821 l 51.433 28.821 l cl 0 0 0 F n 53.723 28.841 m 53.369 28.841 53.075 28.68 53.075 28.151 c 53.075 27.689 53.319 27.362 53.813 27.362 c 53.929 27.362 54.045 27.38 54.149 27.409 c 54.119 27.637 l 54.027 27.602 53.917 27.576 53.801 27.576 c 53.503 27.576 53.357 27.79 53.357 28.116 c 53.357 28.396 53.453 28.619 53.78 28.619 c 53.905 28.619 54.036 28.59 54.131 28.541 c 54.152 28.766 l 54.054 28.804 53.896 28.841 53.723 28.841 c cl 0 0 0 F n 55.286 27.614 m 54.973 27.562 54.825 27.784 54.825 28.244 c 54.825 28.821 l 54.557 28.821 l 54.557 27.386 l 54.816 27.386 l 54.816 27.475 54.807 27.608 54.783 27.726 c 54.789 27.726 l 54.851 27.527 55.003 27.328 55.298 27.36 c 55.286 27.614 l cl 0 0 0 F n 56.195 28.847 m 55.794 28.847 55.532 28.622 55.532 28.116 c 55.532 27.694 55.806 27.36 56.252 27.36 c 56.63 27.36 56.919 27.562 56.919 28.079 c 56.919 28.512 56.633 28.847 56.195 28.847 c cl 56.228 27.576 m 56.014 27.576 55.811 27.735 55.811 28.09 c 55.811 28.437 55.957 28.628 56.228 28.628 c 56.448 28.628 56.639 28.46 56.639 28.093 c 56.639 27.767 56.502 27.576 56.228 27.576 c cl 0 0 0 F n 57.611 28.847 m 57.501 28.847 57.391 28.838 57.299 28.821 c 57.308 28.59 l 57.4 28.619 57.519 28.639 57.632 28.639 c 57.829 28.639 57.963 28.552 57.963 28.42 c 57.963 28.099 57.275 28.296 57.275 27.79 c 57.275 27.547 57.481 27.36 57.867 27.36 c 57.957 27.36 58.061 27.371 58.15 27.388 c 58.144 27.605 l 58.052 27.576 57.945 27.559 57.847 27.559 c 57.65 27.559 57.552 27.64 57.552 27.764 c 57.552 28.079 58.242 27.908 58.242 28.391 c 58.242 28.651 58.004 28.847 57.611 28.847 c cl 0 0 0 F n 59.235 28.966 m 59.063 29.41 58.923 29.555 58.596 29.555 c 58.539 29.555 58.462 29.546 58.402 29.538 c 58.426 29.304 l 58.489 29.324 58.548 29.332 58.617 29.332 c 58.78 29.332 58.867 29.26 58.971 28.983 c 59.033 28.821 l 58.474 27.386 l 58.777 27.386 l 59.057 28.131 l 59.105 28.261 59.137 28.374 59.17 28.486 c 59.176 28.486 l 59.203 28.385 59.265 28.203 59.322 28.044 c 59.56 27.386 l 59.851 27.386 l 59.235 28.966 l cl 0 0 0 F n 60.402 28.847 m 60.291 28.847 60.181 28.838 60.089 28.821 c 60.098 28.59 l 60.191 28.619 60.309 28.639 60.423 28.639 c 60.619 28.639 60.753 28.552 60.753 28.42 c 60.753 28.099 60.065 28.296 60.065 27.79 c 60.065 27.547 60.271 27.36 60.657 27.36 c 60.747 27.36 60.851 27.371 60.94 27.388 c 60.934 27.605 l 60.842 27.576 60.735 27.559 60.637 27.559 c 60.44 27.559 60.342 27.64 60.342 27.764 c 60.342 28.079 61.033 27.908 61.033 28.391 c 61.033 28.651 60.795 28.847 60.402 28.847 c cl 0 0 0 F n 61.981 28.844 m 61.677 28.844 61.585 28.723 61.585 28.414 c 61.585 27.588 l 61.282 27.588 l 61.282 27.386 l 61.585 27.386 l 61.585 26.92 l 61.853 26.848 l 61.853 27.386 l 62.267 27.386 l 62.267 27.588 l 61.853 27.588 l 61.853 28.322 l 61.853 28.558 61.898 28.622 62.064 28.622 c 62.133 28.622 62.207 28.61 62.267 28.596 c 62.267 28.815 l 62.183 28.833 62.076 28.844 61.981 28.844 c cl 0 0 0 F n 63.809 28.088 m 62.842 28.088 l 62.83 28.472 62.994 28.636 63.309 28.636 c 63.461 28.636 63.621 28.602 63.741 28.547 c 63.764 28.758 l 63.621 28.815 63.449 28.847 63.265 28.847 c 62.809 28.847 62.565 28.616 62.565 28.11 c 62.565 27.68 62.806 27.36 63.226 27.36 c 63.642 27.36 63.818 27.634 63.818 27.963 c 63.818 27.998 63.815 28.038 63.809 28.088 c cl 63.214 27.55 m 63.021 27.55 62.883 27.692 62.854 27.902 c 63.544 27.902 l 63.55 27.692 63.422 27.55 63.214 27.55 c cl 0 0 0 F n 66.085 28.821 m 66.085 27.9 l 66.085 27.7 66.037 27.573 65.844 27.573 c 65.633 27.573 65.431 27.79 65.431 28.136 c 65.431 28.821 l 65.166 28.821 l 65.166 27.897 l 65.166 27.718 65.127 27.573 64.925 27.573 c 64.699 27.573 64.511 27.807 64.511 28.136 c 64.511 28.821 l 64.243 28.821 l 64.243 27.386 l 64.502 27.386 l 64.502 27.469 64.496 27.599 64.478 27.686 c 64.484 27.689 l 64.571 27.487 64.761 27.357 64.999 27.357 c 65.311 27.357 65.395 27.568 65.407 27.683 c 65.469 27.547 65.627 27.357 65.913 27.357 c 66.192 27.357 66.353 27.504 66.353 27.828 c 66.353 28.821 l 66.085 28.821 l cl 0 0 0 F n 67.116 28.847 m 67.006 28.847 66.896 28.838 66.804 28.821 c 66.813 28.59 l 66.905 28.619 67.024 28.639 67.137 28.639 c 67.333 28.639 67.467 28.552 67.467 28.42 c 67.467 28.099 66.78 28.296 66.78 27.79 c 66.78 27.547 66.985 27.36 67.372 27.36 c 67.461 27.36 67.565 27.371 67.655 27.388 c 67.649 27.605 l 67.557 27.576 67.449 27.559 67.351 27.559 c 67.155 27.559 67.057 27.64 67.057 27.764 c 67.057 28.079 67.747 27.908 67.747 28.391 c 67.747 28.651 67.509 28.847 67.116 28.847 c cl 0 0 0 F n 52.454 27.149 m 52.552 27.149 52.632 27.071 52.632 26.978 c 52.632 26.883 52.552 26.811 52.454 26.811 c 52.355 26.811 52.275 26.886 52.275 26.978 c 52.275 27.074 52.355 27.149 52.454 27.149 c cl 0 0 0 F n 52.103 27.382 m 52.103 27.585 l 52.32 27.585 l 52.32 28.821 l 52.588 28.821 l 52.588 27.386 l 52.103 27.382 l cl 0 0 0 F userdict /#copies 1 put grestore %%Trailer %%DocumentNeededResources: font %%DocumentSuppliedResources: end d_sv_obj restore %%EndDocument FMENDEPSF 0 0 0 1 0 0 0 K 1 24 Q -0.17 (Ja) 207 677 S -0.17 (v) 226.18 677 S -0.17 (aBeans Acti) 237.42 677 S -0.17 (v) 351.64 677 S -0.17 (ation) 362.88 677 S 207 -29/G267529 FmPA -0.08 -0.17 (Frame) 207 647 B -0.08 -0.17 (w) 266.89 647 B -0.08 -0.17 (ork Speci\336cation) 283.82 647 B 207 599 558 609 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 600 459 600 2 L 0.25 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 0 612 792 C 2 24 Q 0 X 0 0 0 1 0 0 0 K -0.17 (D) 207 617 S -0.17 (r) 224.16 617 S -0.17 (aft) 232.97 617 S -0.17 (5) 263.66 617 S 3 12 Q (Bart Calder) 207 575 T (, Bill Shannon) 267.55 575 T 207 73/G267530 FmPA 0 9 Q (This is a draft of the Ja) 207 515 T (v) 304.89 515 T (aBeans Activ) 309.72 515 T (ation) 366.06 515 T 207 133/G264796 FmPA (Frame) 207 503 T (w) 233.87 503 T (ork Speci\336cation, a pr) 240.7 503 T (oposed data) 334.55 503 T (typing and registr) 207 491 T (y tec) 283.1 491 T (hnology that will be) 303.52 491 T (released as a Ja) 207 479 T (v) 275.91 479 T (a Standar) 280.74 479 T (d Extension.) 321.57 479 T 187 609 189 633 R V 72 417 558 420 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 419.15 558 419.15 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 419.15 198 419.15 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (1.0) 181.32 424 T (Over) 207 424 T (vie) 234.47 424 T (w) 250.97 424 T 72 224/G264806 FmPA 1 10 Q (Ja) 207 396.33 T (v) 215.13 396.33 T (aBeans is pro) 219.88 396.33 T (ving to be a popular technology) 273.61 396.33 T (. As more people embrace Ja) 399.89 396.33 T (v) 515.21 396.33 T (aBeans) 519.96 396.33 T 72 252/G265015 FmPA (and Ja) 207 384.33 T (v) 232.07 384.33 T (a some of the en) 236.82 384.33 T (vironment\325) 301.96 384.33 T (s shortcomings are brought to light. Ja) 345.85 384.33 T (v) 498.7 384.33 T (aBeans w) 503.45 384.33 T (as) 541.95 384.33 T (meant to satisfy needs in b) 207 372.33 T (uilder and de) 313.18 372.33 T (v) 365.14 372.33 T (elopment en) 369.99 372.33 T (vironments b) 418.75 372.33 T (ut its capabilities f) 471.05 372.33 T (all) 544.56 372.33 T (short of those needed to deplo) 207 360.33 T (y stand alone components as content editing and creating) 327.16 360.33 T (entities.) 207 348.33 T (Missing from Ja) 207 324.33 T (v) 271.8 324.33 T (aBeans and Ja) 276.55 324.33 T (v) 333 324.33 T (a as a whole is a consistent strate) 337.75 324.33 T (gy for typing data, a) 469.52 324.33 T 72 324/G264808 FmPA -0.25 (method for determining the supported data types of a softw) 207 312.33 P -0.25 (are component, a method for) 441.52 312.33 P -0.24 (binding typed data to a component and some of the related architecture and implementa-) 207 300.33 P (tion that supports these features.) 207 288.33 T (Presumably with these pieces in place, a Ja) 207 264.33 T (v) 378.99 264.33 T (aBeans based component could be de) 383.74 264.33 T (v) 533.18 264.33 T (el-) 538.03 264.33 T 72 384/G264809 FmPA (oped that pro) 207 252.33 T (vides helper application lik) 259.62 252.33 T (e functionality in a web bro) 368.12 252.33 T (wser) 478.13 252.33 T (, added func-) 496.61 252.33 T (tionality to an of) 207 240.33 T (\336ce suite, or a content vie) 273.14 240.33 T (wer in a Ja) 375.65 240.33 T (v) 418.49 240.33 T (a based netw) 423.24 240.33 T (ork computer) 474.79 240.33 T (en) 207 228.33 T (vironment.) 216.04 228.33 T 72 185 558 188 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 187.16 558 187.16 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 187.16 198 187.16 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (2.0) 181.32 192 T (Goals) 207 192 T 72 456/G264811 FmPA 1 10 Q (This document has the goal of describing a proposal for a Ja) 207 164.33 T (v) 447.59 164.33 T (a implementation of a) 452.34 164.33 T 72 484/G265024 FmPA (frame) 207 152.33 T (w) 230.07 152.33 T (ork to pro) 237.19 152.33 T (vide the follo) 276.48 152.33 T (wing services:) 329.56 152.33 T 4 11 Q (\245) 207 133.67 T 1 10 Q (A service to determine the type of arbitrary data.) 220.74 133.67 T 72 514/G264812 FmPA 4 11 Q (\245) 207 117.67 T 1 10 Q (A service to encapsulate access to data.) 220.74 117.67 T 72 530/G265759 FmPA 4 11 Q (\245) 207 101.67 T 1 10 Q (A service to disco) 220.74 101.67 T (v) 292.52 101.67 T (er the operations a) 297.38 101.67 T (v) 370.76 101.67 T (ailable on a particular type of data.) 375.51 101.67 T 72 546/G265760 FmPA 0 0 0 1 0 0 0 K [/Creator(FrameMaker xm5.1P2a)/DOCINFO FmPD2 [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.1/DEST FmPD2 [/Title(A)/Rect[198 459 567 702]/ARTICLE FmPD2 [/Title(A)/Rect[63 79 567 441]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Ar) 189 739.85 T (c) 198.82 739.85 T (hitectural Over) 203.73 739.85 T (vie) 267.35 739.85 T (w) 279.72 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (2) 54 60.29 T 0 9 Q ( of) 59.56 60.29 T 0 10 Q ( 23) 70.56 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 4 11 Q (\245) 189 679.99 T 1 10 Q (A service to instantiate the correct softw) 202.74 679.99 T (are component that corresponds to the) 364.27 679.99 T 54 824/G265761 FmPA (desired operation on a particular piece of data) 202.74 667.66 T (This functionality will be packaged as a JDK 1.1.x and later compatible standard e) 189 643.66 T (xten-) 519.07 643.66 T 54 788/G266412 FmPA (sion.) 189 631.66 T 54 588.33 540 591.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 590.48 540 590.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 590.48 180 590.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (3.0) 163.32 595.33 T (Ar) 189 595.33 T (c) 202.09 595.33 T (hitectural Over) 208.64 595.33 T (vie) 293.46 595.33 T (w) 309.96 595.33 T 54 739/G264813 FmPA 1 10 Q (There already e) 189 567.66 T (xists a f) 251.04 567.66 T (air amount of support in JDK 1.1 \050including Ja) 282.05 567.66 T (v) 468.78 567.66 T (aBeans\051 to sup-) 473.53 567.66 T 54 712/G265027 FmPA (port a modest acti) 189 555.66 T (v) 260.13 555.66 T (ation frame) 264.88 555.66 T (w) 310.45 555.66 T (ork and the intention is to le) 317.57 555.66 T (v) 429.54 555.66 T (erage as much of that) 434.39 555.66 T -0.08 (e) 189 543.66 P -0.08 (xisting technology as possible. The inte) 193.29 543.66 P -0.08 (gration of these disparate pieces is the focus of) 351.06 543.66 P (this ef) 189 531.66 T (fort.) 213.47 531.66 T (A diagram of the o) 189 363.14 T (v) 264.39 363.14 T (erall architecture is abo) 269.24 363.14 T (v) 362.67 363.14 T (e. Note that the frame) 367.52 363.14 T (w) 454.19 363.14 T (ork in the diagram) 461.31 363.14 T 54 507/G264815 FmPA (is not bound to a particular application.) 189 351.14 T 0 F (3.1) 166.1 321.14 T (DataHandler) 189 321.14 T 54 465/G264816 FmPA 1 F (The object in the center of diagram is a class called the DataHandler) 189 297.14 T (. The data handler) 461.71 297.14 T 54 441/G265035 FmPA (pro) 189 285.14 T (vides a consistent interf) 202.18 285.14 T (ace for the other subsystems to clients that wish to interf) 296.79 285.14 T (ace) 522.22 285.14 T (with this frame) 189 273.14 T (w) 249.3 273.14 T (ork. The top of the diagram sho) 256.42 273.14 T (ws tw) 382.54 273.14 T (o w) 406.05 273.14 T (ays arbitrary data could be) 420.67 273.14 T (introduced into the system, as a \336le and as a collection of bits.) 189 261.14 T 0 F (3.2) 166.1 231.14 T (DataSour) 189 231.14 T (ce) 233.25 231.14 T 54 375/G265036 FmPA 1 F -0.37 (Data is encapsulated in an object implementing the DataSource interf) 189 207.14 P -0.37 (ace which presents) 463.07 207.14 P 54 351/G265037 FmPA (both a stream pro) 189 195.14 T (viding access to the data, and a String representing the MIME type of) 258.56 195.14 T (the data. Classes could be implemented for common data sources \050web, \336le system,) 189 183.14 T (IMAP) 189 171.14 T (, ftp etc.\051. The DataSource interf) 212.89 171.14 T (ace could also be e) 342.75 171.14 T (xtended to allo) 418.13 171.14 T (w per data) 477.32 171.14 T (source user customizations. Once the DataSource is set in the DataHandler) 189 159.14 T (, the opera-) 487.7 159.14 T (tions a) 189 147.14 T (v) 215.19 147.14 T (ailable on that data can be determined.) 219.94 147.14 T 54 89.3 540 687.33 C 89.32 383.8 504.68 528.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 89.32 383.8 504.68 528.33 R 7 X 0 0 0 1 0 0 0 K V 253.99 412.44 345.11 463.07 R V 0.5 H 2 Z 0 X N 5 12 Q (DataHandler) 269.52 435.95 T 257.08 495.03 317.83 519.74 R N 279.58 475.63 282.22 474.1 279.58 464.88 276.93 474.1 4 Y 1 H 0 Z N 279.58 475.63 282.22 474.1 279.58 464.88 276.93 474.1 4 Y V 279.58 494.52 279.58 474.6 2 L 2 Z N 90 450 1.5 1.5 233.52 439.16 G 235.02 439.16 235.02 442.96 248.26 439.16 235.02 435.36 4 Y 3 H 0 Z N 235.02 439.16 235.02 442.96 248.26 439.16 235.02 435.36 4 Y V 90 450 1.5 1.5 180 224.11 439.16 GG 222.61 439.16 222.61 435.36 209.36 439.16 222.61 442.96 4 Y N 222.61 439.16 222.61 435.36 209.36 439.16 222.61 442.96 4 Y V 233.52 439.16 224.11 439.16 2 L N 356.14 438.6 356.14 435.95 346.92 438.6 356.14 441.24 4 Y 1 H N 356.14 438.6 356.14 435.95 346.92 438.6 356.14 441.24 4 Y V 363.33 438.6 363.33 441.24 372.55 438.6 363.33 435.95 4 Y N 363.33 438.6 363.33 441.24 372.55 438.6 363.33 435.95 4 Y V 356.64 438.6 362.83 438.6 2 L N 374.32 415.25 417.95 459.13 R 0.5 H 2 Z N 5 9 Q (Command) 375.3 438.32 T (Map) 386.58 430.55 T 427.89 438.32 429.42 440.96 438.64 438.32 429.42 435.67 4 Y 1 H 0 Z N 427.89 438.32 429.42 440.96 438.64 438.32 429.42 435.67 4 Y V 418.23 438.32 428.92 438.32 2 L 2 Z N 440.73 424.54 485.73 450.97 13.22 RR 0.5 H N (Command) 441.71 437.76 T (Object) 450.17 429.99 T 5 10 Q (DataSource) 261.12 504.61 T J 348.62 472.1 350.74 470.02 341.34 464.7 346.49 474.19 4 Y 0 Z N 348.62 472.1 350.74 470.02 341.34 464.7 346.49 474.19 4 Y V J 360.45 484.13 358.33 486.22 367.73 491.53 362.57 482.05 4 Y N 360.45 484.13 358.33 486.22 367.73 491.53 362.57 482.05 4 Y V J 348.79 472.28 360.27 483.96 2 L J 348.79 472.28 351.42 474.95 2 L 2 Z N [10.24 8.874] 10.24 I 351.42 474.95 357.64 481.28 2 L N J 357.64 481.28 360.27 483.96 2 L N J 347.74 491.71 434.19 519.83 R 0 Z N 5 9 Q (DataContentHandler) 351.33 504.19 T J 248.89 501.5 246.89 503.71 256.59 508.45 250.88 499.29 4 Y N 248.89 501.5 246.89 503.71 256.59 508.45 250.88 499.29 4 Y V J 213.15 469.27 215.14 467.06 205.44 462.32 211.15 471.48 4 Y N 213.15 469.27 215.14 467.06 205.44 462.32 211.15 471.48 4 Y V J 248.7 501.33 213.33 469.44 2 L J 248.7 501.33 247.4 500.16 2 L 2 Z N [3.47 4.462] 3.47 I 247.4 500.16 214.63 470.61 2 L N J 214.63 470.61 213.33 469.44 2 L N J 204.77 498.74 204.77 392.73 2 L 1 H N 5 12 Q (F) 143.84 446.21 T (r) 150.63 446.21 T (ame) 154.51 446.21 T (w) 177.61 446.21 T (or) 186.15 446.21 T (k) 197 446.21 T (Client) 158.08 438.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 89.3 540 687.33 C 0 0 612 792 C 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.2/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Using The Frame) 207 739.85 T (w) 279.88 739.85 T (ork) 286.7 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (3) 527.82 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA (3.3) 184.1 680.66 T (CommandMap) 207 680.66 T 72 825/G264820 FmPA 1 F (The CommandMap pro) 207 656.66 T (vides a service that allo) 300.73 656.66 T (ws consumers of its interf) 394.35 656.66 T (aces to deter-) 497.57 656.66 T 72 801/G264821 FmPA (mine the \324commands\325 a) 207 644.66 T (v) 300.95 644.66 T (ailable on a particular MIME T) 305.7 644.66 T (ype as well as an interf) 430.15 644.66 T (ace to) 521.97 644.66 T -0.2 (retrie) 207 632.66 P -0.2 (v) 227.85 632.66 P -0.2 (e an object that can operate on an object of a particular MIME T) 232.7 632.66 P -0.2 (ype \050ef) 486.77 632.66 P -0.2 (fecti) 514.36 632.66 P -0.2 (v) 531.88 632.66 P -0.2 (ely a) 536.73 632.66 P (component re) 207 620.66 T (gistry\051. The Command Map w) 261.56 620.66 T (ould be able to generate and maintain a list) 382.84 620.66 T (of a) 207 608.66 T (v) 222.07 608.66 T (ailable capabilities on a particular data type by a mechanism de\336ned by the imple-) 226.82 608.66 T -0.03 (mentation of the particular instance of the CommandMap. The programming model for) 207 596.66 P (the softw) 207 584.66 T (are components that implemented the commands w) 243.84 584.66 T (ould be Ja) 449.27 584.66 T (v) 489.62 584.66 T (aBeans. These) 494.37 584.66 T -0.05 (beans could use serialization, e) 207 572.66 P -0.05 (xternalization or implement the \324CommandObject\325 inter-) 330.79 572.66 P (f) 207 560.66 T (ace to allo) 210.23 560.66 T (w the typed data to be passed to them.) 251.08 560.66 T (Our goal is to pro) 207 536.66 T (vide a \337e) 277.4 536.66 T (xible and e) 313.91 536.66 T (xtensible frame) 357.64 536.66 T (w) 419.32 536.66 T (ork for the CommandMap. The) 426.44 536.66 T 72 681/G264822 FmPA (CommandMap interf) 207 524.66 T (ace allo) 291.06 524.66 T (ws de) 321.63 524.66 T (v) 344.43 524.66 T (elopers to de) 349.28 524.66 T (v) 400.13 524.66 T (elop their o) 404.98 524.66 T (wn solutions for disco) 450.28 524.66 T (v) 538.74 524.66 T (er-) 543.59 524.66 T (ing which commands are a) 207 512.66 T (v) 314 512.66 T (ailable on the system. A possible implementation might) 318.75 512.66 T (access the \324types re) 207 500.66 T (gistry\325 on the platform or use a serv) 284.32 500.66 T (er based solution. W) 427.2 500.66 T (e will pro-) 508.61 500.66 T (vide a simple def) 207 488.66 T (ault solution based on RFC 1524 \050.mailcap\051 lik) 275.5 488.66 T (e functionality \050see) 463.18 488.66 T (\322Planned Deli) 207 476.66 T (v) 263.13 476.66 T (erables\323 belo) 267.98 476.66 T (w\051.) 320.21 476.66 T 0 F (3.4) 184.1 446.66 T (Command Object) 207 446.66 T 72 591/G264823 FmPA 1 F (CommandObjects are Ja) 207 422.66 T (v) 304.56 422.66 T (aBeans that implement the CommandObject interf) 309.31 422.66 T (ace. The) 510.58 422.66 T 72 567/G264824 FmPA (CommandObject interf) 207 410.66 T (ace allo) 299.39 410.66 T (ws beans that were implemented to be used in the frame-) 329.96 410.66 T (w) 207 398.66 T (ork to access their DataSource and DataHandler objects directly) 214.12 398.66 T (.) 469.51 398.66 T 72 355.33 558 358.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 357.48 558 357.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 357.48 198 357.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (4.0) 181.32 362.33 T (Using The Frame) 207 362.33 T (w) 304.18 362.33 T (ork) 313.27 362.33 T 72 506/G264825 FmPA 1 10 Q (The intent is to mak) 207 334.66 T (e this infrastructure widely a) 286.9 334.66 T (v) 401.12 334.66 T (ailable for an) 405.87 334.66 T (y Ja) 458.48 334.66 T (v) 474.11 334.66 T (a \324application\325 that) 478.86 334.66 T 72 479/G265043 FmPA (needs this functionality) 207 322.66 T (. The \324canonical\325 consumer of this frame) 299.68 322.66 T (w) 462.44 322.66 T (ork will access it) 469.56 322.66 T (through the DataHandler \050although the major subsystems are designed to also operate) 207 310.66 T (independently\051. The underlying data source will be associated with the DataHandler) 207 298.66 T (when the DataHandler class is constructed. The DataHandler will get the data typing) 207 286.66 T (information from the DataSource or set directly from the constructor) 207 274.66 T (. Once this initial-) 481.12 274.66 T (ization step is complete, the consumer can request a list of commands that can be per-) 207 262.66 T (formed on that data item. When a request for this list is made the DataHandler uses the) 207 250.66 T (MIME type information of the data item to request a list of a) 207 238.66 T (v) 449.55 238.66 T (ailable commands from) 454.3 238.66 T (the CommandMap. The CommandMap has kno) 207 226.66 T (wledge of a) 397.85 226.66 T (v) 444.3 226.66 T (ailable commands \050imple-) 449.05 226.66 T (mented as Ja) 207 214.66 T (v) 257.9 214.66 T (aBeans\051 and their supported data types. The CommandMap will return to) 262.65 214.66 T -0.04 (the DataHandler a subset of the full list of all commands based on the requested MIME) 207 202.66 P (type and the semantics of the CommandMap implementation. Ultimately when the) 207 190.66 T (application wishes to apply a command to some data it is done through the appropriate) 207 178.66 T (DataHandler interf) 207 166.66 T (ace which uses the CommandMap to retrie) 282.15 166.66 T (v) 452.98 166.66 T (e the appropriate Ja) 457.83 166.66 T (v) 535.66 166.66 T (a-) 540.41 166.66 T -0.2 (Bean which is used to operate on the data. The container \050user of the frame) 207 154.66 P -0.2 (w) 504.17 154.66 P -0.2 (ork\051 mak) 511.29 154.66 P -0.2 (es) 547.37 154.66 P (the association between the data and the Bean.) 207 142.66 T 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.3/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Usa) 189 739.85 T (g) 205.42 739.85 T (e Scenarios) 211.01 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (4) 54 60.29 T 0 9 Q ( of) 59.56 60.29 T 0 10 Q ( 23) 70.56 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 54 672.33 540 675.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 674.48 540 674.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 674.48 180 674.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (5.0) 163.32 679.33 T (Usa) 189 679.33 T (g) 210.89 679.33 T (e Scenarios) 218.34 679.33 T 54 823/G264827 FmPA 1 10 Q -0.02 (This scenario is meant to pro) 189 651.66 P -0.02 (vide the reader with a concrete e) 304.57 651.66 P -0.02 (xample of ho) 434.24 651.66 P -0.02 (w this frame-) 486.72 651.66 P 54 796/G264828 FmPA (w) 189 639.66 T (ork might be used. The e) 196.12 639.66 T (xample application is a \336le system vie) 295.4 639.66 T (wer in the spirit of) 447.92 639.66 T (CDE\325) 189 627.66 T (s \324dt\336le\325 or similar to the W) 211.78 627.66 T (indo) 323.04 627.66 T (ws 95 Explorer) 340.57 627.66 T (. The basic functionality of the) 401.12 627.66 T (application is to present the user with a display of the a) 189 615.66 T (v) 409.05 615.66 T (ailable \336les. This h) 413.8 615.66 T (ypothetical) 489.86 615.66 T (application has a function lik) 189 603.66 T (e CDE\325) 305 603.66 T (s dt\336le or Explorer\325) 334.72 603.66 T (s \324right mouse\325 menu where all) 412.77 603.66 T (operations that can be performed on a data item are e) 189 591.66 T (xposed in a popup menu for that) 401.01 591.66 T (item.) 189 579.66 T -0.02 (A typical user w) 189 555.66 P -0.02 (ould use the application to vie) 254.67 555.66 P -0.02 (w a directory of \336les. Upon \336nding a \336le) 374.61 555.66 P 54 700/G264829 FmPA (of interest, the user could click on it which w) 189 543.66 T (ould bring up a popup menu which w) 369.43 543.66 T (ould) 519.04 543.66 T (list the a) 189 531.66 T (v) 222.69 531.66 T (ailable operations on that \336le. Operations commonly implemented w) 227.44 531.66 T (ould) 502.04 531.66 T (include \324edit\325, \324vie) 189 519.66 T (w\325 and \324print\325. Selecting the \324vie) 262.9 519.66 T (w\325 operation for instance w) 393.18 519.66 T (ould) 503.05 519.66 T (cause the document to be opened in the appropriate vie) 189 507.66 T (wer) 408.98 507.66 T (.) 423.42 507.66 T 0 F (5.1) 166.1 477.66 T (Scenario Ar) 189 477.66 T (c) 244.93 477.66 T (hitecture) 250.39 477.66 T 54 622/G264830 FmPA 1 F (The description of the application will be brok) 189 453.66 T (en do) 374.71 453.66 T (wn into three discrete steps in the) 396.4 453.66 T 54 598/G265089 FmPA (interest of clarity:) 189 441.66 T 4 11 Q (\245) 189 422.99 T 1 10 Q (Initialization: Application constructs a vie) 202.74 422.99 T (w of the \336le system.) 370.81 422.99 T 54 567/G265094 FmPA 4 11 Q (\245) 189 406.99 T 1 10 Q (Get Command List: Application presents command list for a data item.) 202.74 406.99 T 54 551/G265091 FmPA 4 11 Q (\245) 189 390.99 T 1 10 Q (Perform Command: Application performs command on a data object.) 202.74 390.99 T 54 535/G265084 FmPA 0 F (5.2) 166.1 360.66 T (Initialization) 189 360.66 T 54 505/G264833 FmPA 1 F (One of the interf) 189 336.66 T (aces mentioned belo) 255.27 336.66 T (w is the \324DataSource\325 object. Recall that the Data-) 336.67 336.66 T 54 481/G264834 FmPA -0.07 (Source object encapsulates the underlying data object in a class that abstracts the under-) 189 324.66 P (lying data storage mechanism and presents its consumers with a common data access) 189 312.66 T -0.03 (and typing interf) 189 300.66 P -0.03 (ace. The \336le vie) 255.5 300.66 P -0.03 (wer application w) 319.02 300.66 P -0.03 (ould query the \336le system for its con-) 390.51 300.66 P -0.08 (tents. F) 189 288.66 P -0.08 (or each \336le in the directory) 218.22 288.66 P -0.08 (, a DataSource object w) 325.19 288.66 P -0.08 (ould be instantiated. F) 420.02 288.66 P -0.08 (or each) 508.51 288.66 P (DataSource object a DataHandler is instantiated with the DataSource as its constructor) 189 276.66 T (ar) 189 264.66 T (gument. A DataHandler can not be instantiated without a DataSource. The DataHan-) 196.59 264.66 T (dler object pro) 189 252.66 T (vides the client application with access to the CommandMap which pro-) 247.17 252.66 T (vides a service that enables access to commands that can operate on the data. The) 189 240.66 T (application w) 189 228.66 T (ould maintain a list of the DataHandler objects and query them for their) 243.06 228.66 T (names and icons to generate the display) 189 216.66 T (.) 347.21 216.66 T 6 9 Q (// for each file in the directory:) 198 199.33 T 54 343/G265095 FmPA (File file = new File\050file_name\051;) 198 188.33 T 54 332/G265096 FmPA (DataSource ds = new FileDataSource\050file\051;) 198 177.33 T 54 321/G266552 FmPA (DataHandler dh = new DataHandler\050ds\051;) 198 166.33 T 54 310/G266553 FmPA 0 10 Q (5.3) 166.1 136.66 T (Getting the Command List) 189 136.66 T 54 281/G266554 FmPA 1 F (Once the application has been initialized and the \336les ha) 189 112.66 T (v) 414.04 112.66 T (e been presented to the user) 418.89 112.66 T (,) 529.29 112.66 T 54 257/G264836 FmPA -0.1 (the user can click on a \336le which will bring up a popup menu that displays the a) 189 100.66 P -0.1 (v) 506.19 100.66 P -0.1 (ailable) 510.94 100.66 P 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.4/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Usa) 207 739.85 T (g) 223.42 739.85 T (e Scenarios) 229.01 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (5) 527.82 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 1 F (operations on that \336le. The application implements this functionality by requesting the) 207 680.66 T (list of a) 207 668.66 T (v) 236.8 668.66 T (ailable commands from the DataHandler object associated with a \336le. The) 241.55 668.66 T (DataHandler uses the MIME T) 207 656.66 T (ype of the data \050which it gets from the DataSource) 330.06 656.66 T -0.38 (object\051 to query the CommandMap for operations that are a) 207 644.66 P -0.38 (v) 441.38 644.66 P -0.38 (ailable on that type. The list) 446.13 644.66 P (can be interpreted and presented to the user in the form of a popup menu. The user is) 207 632.66 T (no) 207 620.66 T (w free to select one of the operations from that list.) 216.75 620.66 T 6 9 Q (// get the command list for an object) 216 603.33 T 72 747/G264837 FmPA (CommandInfo c) 216 592.33 T (mdInfo[] = dh.ge) 286.2 592.33 T (Pr) 372.6 592.33 T (eferredCommand) 383.4 592.33 T (s\050) 459 592.33 T (\051;) 469.8 592.33 T 72 736/G265100 FmPA 72 725/G265549 FmPA (PopupMenu popup = new PopupMenu\050\322Item Menu\323\051;) 216 570.33 T 72 714/G265103 FmPA 72 703/G264838 FmPA (// populate the popup with available commands) 216 548.33 T 72 692/G265550 FmPA (for\050i = 0; i < cmdInfo.length; i++\051) 216 537.33 T 72 681/G265104 FmPA ( popup.add\050cmdInfo[i].get) 216 526.33 T (CommandN) 367.2 526.33 T (ame\050\051\051;) 410.4 526.33 T 72 670/G265105 FmPA 72 659/G265106 FmPA (// add and show popup) 216 504.33 T 72 648/G265551 FmPA (add\050popup\051;) 216 493.33 T 72 637/G265107 FmPA (popup.show\050x_pos, y_pos\051;) 216 482.33 T 72 626/G265108 FmPA 0 10 Q (5.4) 184.1 452.66 T (P) 207 452.66 T (erf) 213.37 452.66 T (orming a Command) 225.95 452.66 T 72 597/G264839 FmPA 1 F (After the user has selected a command from the popup, the application uses the appro-) 207 428.66 T 72 573/G264840 FmPA (priate) 207 416.66 T (CommandInfo c) 232.27 416.66 T (lass to retrie) 297.54 416.66 T (v) 346.17 416.66 T (e the bean that corresponds to the selected com-) 351.02 416.66 T (mand and associates the data with that bean \050using the appropriate method) 207 404.66 T -0.18 (\050DataHandler) 207 392.66 P -0.18 (, Externalization etc.\051. Some CommandObjects \050vie) 261.02 392.66 P -0.18 (wers for instance\051 will) 466.52 392.66 P (be subclassed from ja) 207 380.66 T (v) 293.17 380.66 T (a.a) 297.92 380.66 T (wt.Component and will require that the) 309.15 380.66 T (y are gi) 466.21 380.66 T (v) 495.95 380.66 T (en a parent) 500.8 380.66 T (container) 207 368.66 T (. Others \050lik) 243.66 368.66 T (e a def) 291.61 368.66 T (ault print Command\051 may not present a UI. This allo) 318.16 368.66 T (ws) 528.45 368.66 T -0.04 (them to be \337e) 207 356.66 P -0.04 (xible enough to function as stand alone vie) 261.46 356.66 P -0.04 (wer/editors, or perhaps as com-) 432.34 356.66 P -0.29 (ponents in a compound document system. The \324application\325 is responsible for pro) 207 344.66 P -0.29 (viding) 530.23 344.66 P (the proper en) 207 332.66 T (vironment \050containment, life c) 259.36 332.66 T (ycle, etc.\051 for the CommandObject to e) 380.86 332.66 T (x) 536.79 332.66 T (e-) 541.64 332.66 T (cute in. W) 207 320.66 T (e e) 247.58 320.66 T (xpect that the requirements will be lightweight \050not much be) 258.81 320.66 T (yond Ja) 500.58 320.66 T (v) 531.21 320.66 T (a-) 535.96 320.66 T (Beans containers and A) 207 308.66 T (WT containment for visible components\051.) 300.8 308.66 T 6 9 Q (// get the command object) 216 291.33 T 72 435/G264841 FmPA (Object cmdBean = c) 216 280.33 T (mdInfo[cmd_id].get) 313.2 280.33 T (CommandObject\050dh,) 410.4 280.33 T 72 424/G265109 FmPA -0.45 ( this.getClassLoader\050\051\051) 216 269.33 P -0.45 (;) 547.65 269.33 P 72 413/G267541 FmPA ( .) 216 258.33 T (.. // use serialization/externalization where appropriate) 232.2 258.33 T 72 402/G265113 FmPA 72 391/G264843 FmPA (m) 216 236.33 T (y_awt_container.add\050\050Component\051cmdBean\051;) 221.4 236.33 T 72 380/G265555 FmPA 0 10 Q (5.5) 184.1 206.66 T (An Alternative Scenario) 207 206.66 T 72 351/G264844 FmPA 1 F (The \336rst scenario we vie) 207 182.66 T (w as the \324canonical\325 case. There are also circumstances where) 305.06 182.66 T 72 327/G264845 FmPA (the application has already created Ja) 207 170.66 T (v) 355.92 170.66 T (a Objects to represent its data. In this case creat-) 360.67 170.66 T (ing an in memory instance of a DataSource that con) 207 158.66 T (v) 414.06 158.66 T (erted an e) 418.91 158.66 T (xisting object into an) 457.63 158.66 T (InputStream w) 207 146.66 T (ould at best be an inef) 266.06 146.66 T (\336cient use of system resources and could poten-) 353.85 146.66 T -0.03 (tially result in a loss of data \336delity) 207 134.66 P -0.03 (. In these cases an instance of DataHandler could be) 347.53 134.66 P (instantiated with the DataHandler\050Object obj, String mimeT) 207 122.66 T (ype\051 constructor) 447.01 122.66 T (. DataHan-) 511.72 122.66 T -0.05 (dler implements T) 207 110.66 P -0.05 (ransferable so the consuming beans can request representations other) 279.89 110.66 P -0.23 (than InputStreams. The DataHandler will ha) 207 98.66 P -0.23 (v) 382.85 98.66 P -0.23 (e to construct a DataSource for consumers) 387.7 98.66 P 52 589.33 54 598.33 R V 52 523.33 54 532.33 R V 52 413.33 54 423.33 R V 52 255.33 54 286.33 R V 52 233.33 54 242.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.5/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 189 739.85 T (y Frame) 217.6 739.85 T (w) 251.98 739.85 T (ork Interfaces) 258.8 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (6) 54 60.29 T 0 9 Q ( of) 59.56 60.29 T 0 10 Q ( 23) 70.56 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 1 10 Q (that request it. The DataContentHandler mechanism will be e) 189 680.66 T (xtended to also allo) 434.09 680.66 T (w con-) 511.89 680.66 T (v) 189 668.66 T (ersion from Objects to InputStreams. The follo) 193.85 668.66 T (wing is another e) 381.08 668.66 T (xample of a possible) 449.53 668.66 T (use of the frame) 189 656.66 T (w) 253.45 656.66 T (ork. In this scenario a data base front end pro) 260.57 656.66 T (vides query results in) 440.93 656.66 T (terms of Ja) 189 644.66 T (v) 232.68 644.66 T (a Objects.) 237.43 644.66 T 6 9 Q ( /**) 198 627.33 T 54 771/G264846 FmPA ( * Get the viewer to view my query results:) 198 616.33 T 54 760/G265114 FmPA ( */) 198 605.33 T 54 749/G265115 FmPA -1.2 ( Component getQueryViewer\050QueryObject qo\051) 198 594.33 P -1.2 ( throws Exception {) 415.8 594.33 P 54 738/G265116 FmPA ( String mime_type = qo.getType\050\051;) 198 583.33 T 54 727/G265118 FmPA ( Object q_result = qo.getResultObject\050\051;) 198 572.33 T 54 716/G265119 FmPA ( DataHandler my_dh = new DataHandler\050q_result, mime_type\051;) 198 561.33 T 54 705/G265120 FmPA 54 694/G265559 FmPA ( return \050Component) 198 539.33 T (\051m) 306 539.33 T (y_dh.getCommand\050\322view\323\051) 316.8 539.33 T (.getCommandOb-) 441 539.33 T 54 683/G265123 FmPA (ject\050\051) 198 528.33 T (\051;) 230.4 528.33 T ( }) 198 517.33 T 54 661/G265124 FmPA 54 474.33 540 477.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 476.48 540 476.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 476.48 180 476.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (6.0) 163.32 481.33 T (Primar) 189 481.33 T (y Frame) 227.14 481.33 T (w) 272.98 481.33 T (ork I) 282.07 481.33 T (nterfaces) 307.42 481.33 T 54 625/G264848 FmPA 1 10 Q (Based on the description of the o) 189 453.66 T (v) 320.5 453.66 T (erall architecture of this frame) 325.35 453.66 T (w) 446.17 453.66 T (ork along with the) 453.29 453.66 T 54 598/G264849 FmPA -0.03 (diagram of that frame) 189 441.66 P -0.03 (w) 275.59 441.66 P -0.03 (ork it is apparent that a number of interf) 282.71 441.66 P -0.03 (aces need to be de\336ned.) 442.38 441.66 P (This section will describe these interf) 189 429.66 T (aces.) 338.6 429.66 T 0 F (6.1) 166.1 399.66 T (DataSour) 189 399.66 T (ce) 233.25 399.66 T 54 544/G264850 FmPA 1 F (The data source interf) 189 375.66 T (ace is used by the DataHandler \050and possibly other classes else-) 276.37 375.66 T 54 520/G264851 FmPA (where\051 to access the underlying data. The DataSource object encapsulates the underly-) 189 363.66 T (ing data object in a class that abstracts the underlying data storage and typing) 189 351.66 T (mechanism and presents its consumers with a common data access interf) 189 339.66 T (ace. Data-) 479.96 339.66 T (Source objects will lik) 189 327.66 T (ely be pro) 278.62 327.66 T (vided for common sources \050\336le systems and URL) 318.46 327.66 T (\325) 516.13 327.66 T (s for) 518.91 327.66 T (instance\051 and application and system v) 189 315.66 T (endors will lik) 343.55 315.66 T (ely w) 401.23 315.66 T (ant to implement their o) 423.07 315.66 T (wn) 518.93 315.66 T (DataSources for things lik) 189 303.66 T (e IMAP serv) 293.61 303.66 T (ers, object databases, etc. There is a one to one) 344.56 303.66 T (correspondence between underlying data items \050\336les for instance\051 and DataSource) 189 291.66 T -0.21 (objects. Also note that the class that implements the DataSource interf) 189 279.66 P -0.21 (ace is responsible) 467.59 279.66 P (for typing the data. In the case of a \336le system a DataSource might use a simple mecha-) 189 267.66 T -0.38 (nism such as \336le e) 189 255.66 P -0.38 (xtensions to type data while a DataSource that supports incoming web) 260.64 255.66 P (based data may actually e) 189 243.66 T (xamine the data stream to determine its type) 291.6 243.66 T (.) 468.52 243.66 T 54 370/G265560 FmPA 6 9 Q (p) 198 215.33 T (ublic interface DataSource {) 203.4 215.33 T 54 359/G267875 FmPA ( /**) 198 204.33 T 54 348/G265136 FmPA ( * Return an InputStream representation of the data) 198 193.33 T 54 337/G265131 FmPA ( *) 198 182.33 T 54 326/G265132 FmPA ( * This method will throw an exception if it cannot) 198 171.33 T 54 315/G265133 FmPA ( * create an InputStream \050in cases where DataSource) 198 160.33 T 54 304/G265139 FmPA ( * was created with an object and not an input stream\051) 198 149.33 T 54 293/G265140 FmPA ( *) 198 138.33 T 54 282/G265141 FmPA ( * @return an InputStream) 198 127.33 T 54 271/G265142 FmPA ( */) 198 116.33 T 54 260/G265143 FmPA 54 249/G266950 FmPA ( public InputStream getInputStream\050\051 throws IOException;) 198 94.33 T 54 238/G266951 FmPA 34 591.33 36 600.33 R V 34 525.33 36 545.33 R V 34 477.33 36 489.33 R V 34 212.33 36 250.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.6/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 207 739.85 T (y Frame) 235.6 739.85 T (w) 269.98 739.85 T (ork Interfaces) 276.8 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (7) 527.82 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 72 825/G266952 FmPA 6 9 Q ( /**) 216 670.33 T 72 814/G265566 FmPA ( * Get the output stream, \050write data back to source\051) 216 659.33 T 72 803/G265148 FmPA ( * @return an OutputStream) 216 648.33 T 72 792/G265149 FmPA ( */) 216 637.33 T 72 781/G265150 FmPA ( public OutputStream getOutputStream\050\051 throws IOException;) 216 626.33 T 72 770/G265151 FmPA 72 759/G265156 FmPA ( /**) 216 604.33 T 72 748/G265567 FmPA ( * Return the base MIME Type of this data) 216 593.33 T (. This method) 442.8 593.33 T 72 737/G265157 FmPA ( * is expected to ALWAYS return a valid \050non-null\051) 216 582.33 T 72 726/G267585 FmPA ( * MIME Type. We suggest that if the DataSource implementation) 216 571.33 T 72 715/G267586 FmPA ( * cannot determine the type of the data, it use the) 216 560.33 T 72 704/G267587 FmPA ( * convention of returning \322application/octet-stream\323.) 216 549.33 T 72 693/G267588 FmPA ( * @return the MIME Type) 216 538.33 T 72 682/G265158 FmPA ( */) 216 527.33 T 72 671/G265159 FmPA ( public String getContentType\050\051 throws IOException;) 216 516.33 T 72 660/G265160 FmPA 72 649/G264858 FmPA ( /**) 216 494.33 T 72 638/G265568 FmPA ( * Return the domain specific \324name\325 of this object. For) 216 483.33 T 72 627/G265161 FmPA ( * example, in the case of a file, return the filename.) 216 472.33 T 72 616/G266419 FmPA ( */) 216 461.33 T 72 605/G265162 FmPA ( public String getName\050\051;) 216 450.33 T 72 594/G265163 FmPA (}) 216 439.33 T 72 583/G266579 FmPA 0 10 Q (6.2) 184.1 409.66 T (DataHandler) 207 409.66 T 72 554/G264860 FmPA 1 F (The DataHandler is a class is used by clients of the frame) 207 385.66 T (w) 436.42 385.66 T (ork to encapsulate the data) 443.54 385.66 T 72 530/G264861 FmPA (source object and command object binding infrastructure. It encapsulates the type to) 207 373.66 T (command object binding service of the command map for applications. It pro) 207 361.66 T (vides a) 516.25 361.66 T (handle to the operations and data a) 207 349.66 T (v) 345.66 349.66 T (ailable on a data element. It also implements the) 350.41 349.66 T (T) 207 337.66 T (ransferable interf) 212.76 337.66 T (ace. This allo) 281.24 337.66 T (ws applications and command objects to retrie) 334.59 337.66 T (v) 519.87 337.66 T (e alter-) 524.72 337.66 T (nati) 207 325.66 T (v) 221.75 325.66 T (e representations \050in the form of Ja) 226.6 325.66 T (v) 365.81 325.66 T (a objects\051 of the underlying data. The DataH-) 370.56 325.66 T (andler encapsulates the interf) 207 313.66 T (ace to the component repository and data source.) 323.81 313.66 T ( Let\325) 519.32 313.66 T (s) 537.93 313.66 T (e) 207 301.66 T (xamine these groups of features in more detail:) 211.29 301.66 T 0 9 Q (6.2.1) 177.98 278.33 T (Data Encapsulation) 207 278.33 T 72 422/G267592 FmPA 1 10 Q -0.1 (A DataHandler object can only be instantiated with data. The data can be in the form of) 207 265.66 P 72 410/G267593 FmPA (an object implementing the DataSource interf) 207 253.66 T (ace \050the preferred w) 389.37 253.66 T (ay\051, an object \050with) 469.5 253.66 T -0.16 (associated content type\051 or a URL object. Once instantiated, the DataHandler will try to) 207 241.66 P (pro) 207 229.66 T (vide the data in a \337e) 220.18 229.66 T (xible w) 300.85 229.66 T (ay) 330.47 229.66 T (. The DataHandler implements the T) 339.26 229.66 T (ransferable inter-) 485.55 229.66 T (f) 207 217.66 T (ace which allo) 210.23 217.66 T (ws an object to pro) 267.74 217.66 T (vide alternati) 343.69 217.66 T (v) 395.93 217.66 T (e representations of the data. The) 400.78 217.66 T (T) 207 205.66 T (ransferable interf) 212.76 205.66 T (ace\325) 281.24 205.66 T (s functionality can be e) 297.34 205.66 T (xtended via objects implementing the) 389.95 205.66 T (DataContentHandler interf) 207 193.66 T (ace and made a) 313.82 193.66 T (v) 374.98 193.66 T (ailable to the DataHandler either by a Data-) 379.73 193.66 T (ContentHandlerF) 207 181.66 T (actory object, or via a CommandMap.) 276.29 181.66 T 0 9 Q (6.2.2) 177.98 158.33 T (Command Binding) 207 158.33 T 72 302/G267594 FmPA 1 10 Q (The DataHandler pro) 207 145.66 T (vides wrappers around commonly used functions for command) 291.82 145.66 T 72 290/G267595 FmPA -0.17 (disco) 207 133.66 P -0.17 (v) 227.96 133.66 P -0.17 (ery) 232.81 133.66 P -0.17 (. DataHandler has methods that call into the current CommandMap associated) 244.93 133.66 P (with the DataHandler) 207 121.66 T (. By def) 292.54 121.66 T (ault the DataHandler calls CommandMap\325) 324.38 121.66 T (s getDef) 493.8 121.66 T (ault-) 527.3 121.66 T (CommandMap method if no CommandMap is e) 207 109.66 T (xplicitly set for the DataHandler) 399.07 109.66 T (. As a) 527.94 109.66 T 52 546.33 54 599.33 R V 52 106.33 54 320.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.7/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 189 739.85 T (y Frame) 217.6 739.85 T (w) 251.98 739.85 T (ork Interfaces) 258.8 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (8) 54 60.29 T 0 9 Q ( of) 59.56 60.29 T 0 10 Q ( 23) 70.56 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 1 10 Q (con) 189 680.66 T (v) 203.04 680.66 T (enience, DataHandler uses the content type of it\325) 207.89 680.66 T (s data when calls are made to the) 402.29 680.66 T (CommandMap.) 189 668.66 T 54 795/G264863 FmPA 6 9 Q (public) 198 640.33 T (cl) 235.8 640.33 T (ass DataHandler implements Transferable {) 246.6 640.33 T 54 784/G265569 FmPA (/**) 198 629.33 T 54 773/G265168 FmPA ( * DataHandler constructor \050DataSource\051) 198 618.33 T 54 762/G265169 FmPA ( *) 198 607.33 T 54 751/G265170 FmPA ( * Initializes the DataHandler class.) 198 596.33 T 54 740/G265171 FmPA ( */) 198 585.33 T 54 729/G265172 FmPA (public DataHandler\050DataSource ds\051;) 198 574.33 T 54 718/G265173 FmPA 54 707/G264864 FmPA (/**) 198 552.33 T 54 696/G265570 FmPA ( * DataHandler constructor \050Object, MIME Type\051) 198 541.33 T 54 685/G265174 FmPA ( *) 198 530.33 T 54 674/G265175 FmPA ( * Initializes the DataHandler class. This constructor) 198 519.33 T 54 663/G265176 FmPA ( * is used when the application already has in memory) 198 508.33 T 54 652/G265177 FmPA ( * representations of the data in the form of Java Objects.) 198 497.33 T 54 641/G265178 FmPA ( */) 198 486.33 T 54 630/G265181 FmPA (public DataHandler\050Object obj, String mime_type\051;) 198 475.33 T 54 619/G265185 FmPA 54 608/G264865 FmPA (/**) 198 453.33 T 54 597/G267468 FmPA ( * Construct a DataHandler from a URL object.) 198 442.33 T 54 586/G267470 FmPA ( */) 198 431.33 T 54 575/G267471 FmPA (public DataHandler\050URL url\051;) 198 420.33 T 54 564/G267472 FmPA 54 553/G267469 FmPA (/*) 198 398.33 T (*) 208.8 398.33 T 54 542/G265571 FmPA ( *) 198 387.33 T ( Returns the DataSource associated with this) 208.8 387.33 T 54 531/G265188 FmPA ( * instance of DataHandler. In the case of this DataHandler) 198 376.33 T 54 520/G265192 FmPA ( * being created using DataHandler\050Object, String\051, the) 198 365.33 T 54 509/G265193 FmPA ( * DataHandler will return an instance of DataSource) 198 354.33 T 54 498/G265194 FmPA ( * that encapsulates the object.) 198 343.33 T 54 487/G265195 FmPA ( */) 198 332.33 T 54 476/G265196 FmPA (public DataSource getDataSource\050\051 throws IOException;) 198 321.33 T 54 465/G265197 FmPA 54 454/G265198 FmPA (/**) 198 299.33 T 54 443/G265572 FmPA ( * Get the MIME type of the data) 198 288.33 T 54 432/G265199 FmPA ( */) 198 277.33 T 54 421/G265200 FmPA (public String getContentType\050\051;) 198 266.33 T 54 410/G265201 FmPA 54 399/G264866 FmPA (/*) 198 244.33 T (*) 208.8 244.33 T 54 388/G265203 FmPA ( * return a data stream for this Object, in DataHandlers) 198 233.33 T 54 377/G265205 FmPA ( * created with DataSources and URL will simply return the) 198 222.33 T 54 366/G267482 FmPA ( * InputStream, in the Object case, will attempt to find and) 198 211.33 T 54 355/G267483 FmPA ( * use a DataContentHandler and use it\325s writeTo method to) 198 200.33 T 54 344/G267487 FmPA ( * pipe the objects contents to the InputStream.) 198 189.33 T 54 333/G267488 FmPA ( */) 198 178.33 T 54 322/G267481 FmPA (public InputStream getInputStream\050\051 throws IOException;) 198 167.33 T 54 311/G265208 FmPA 54 300/G265209 FmPA (/**) 198 145.33 T 54 289/G264867 FmPA ( * Get the OutputStream) 198 134.33 T 54 278/G265210 FmPA ( *) 198 123.33 T 54 267/G265211 FmPA ( * return an output stream for this object) 198 112.33 T (, will) 424.8 112.33 T 54 256/G265212 FmPA ( * return null for DataHandler\325s created with Objects) 198 101.33 T 54 245/G267596 FmPA 34 637.33 36 687.33 R V 34 384.33 36 404.33 R V 34 241.33 36 250.33 R V 34 98.33 36 118.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.8/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 207 739.85 T (y Frame) 235.6 739.85 T (w) 269.98 739.85 T (ork Interfaces) 276.8 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (9) 527.82 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 6 9 Q ( */) 216 681.33 T 72 825/G265214 FmPA (public OutputStream getOutputStream\050\051 throw IOException;) 216 670.33 T 72 814/G265215 FmPA 72 803/G264868 FmPA (/**) 216 648.33 T 72 792/G266956 FmPA ( * Get the name of the data represented by the DataHandler) 216 637.33 T 72 781/G266957 FmPA ( * when created with DataSources, with objects it will) 216 626.33 T 72 770/G267600 FmPA ( * return null.) 216 615.33 T 72 759/G267605 FmPA ( */) 216 604.33 T 72 748/G266958 FmPA (public String getName\050\051;) 216 593.33 T 72 737/G266962 FmPA 72 726/G266963 FmPA (/**) 216 571.33 T 72 715/G265221 FmPA ( * \050from Transferable\051) 216 560.33 T 72 704/G265225 FmPA ( * Return the MIMETypes \050DataFlavor\051 of this data) 216 549.33 T 72 693/G265226 FmPA ( *) 216 538.33 T 72 682/G265227 FmPA ( * The return value of this method is derived from the) 216 527.33 T 72 671/G265228 FmPA ( * the original type of this data as well as from the) 216 516.33 T 72 660/G265229 FmPA ( * possible Object types returned from a search of) 216 505.33 T 72 649/G265230 FmPA ( * the available DataContentHanders.) 216 494.33 T 72 638/G265231 FmPA ( * @return the DataFlavors) 216 483.33 T 72 627/G265232 FmPA ( */) 216 472.33 T 72 616/G265233 FmPA (public synchonized DataFlavor[] getTransferDataFlavors\050\051;) 216 461.33 T 72 605/G265234 FmPA 72 594/G265239 FmPA (/**) 216 439.33 T 72 583/G264870 FmPA ( * from Transferable) 216 428.33 T 72 572/G265240 FmPA ( */) 216 417.33 T 72 561/G265241 FmPA (public boolean isDataFlavorSupported\050DataFlavor) 216 406.33 T 72 550/G265242 FmPA ( flavor\051;) 216 395.33 T 72 539/G265243 FmPA (public Object getTransferData\050DataFlavor flavor\051 throws) 216 384.33 T 72 528/G265244 FmPA ( IOException,) 216 373.33 T 72 517/G265246 FmPA ( UnSupportedFlavorException;) 216 362.33 T 72 506/G267495 FmPA (/**) 216 351.33 T 72 495/G265250 FmPA ( * Set the CommandMap to use, DataHandler uses the) 216 340.33 T 72 484/G265251 FmPA ( * CommandMap from the getDefaultCommandMap static) 216 329.33 T 72 473/G265252 FmPA ( * method in CommandMap by default.) 216 318.33 T 72 462/G265253 FmPA ( */) 216 307.33 T 72 451/G265254 FmPA (public void setCommandMap\050CommandMap cmdmap\051;) 216 296.33 T 72 440/G265255 FmPA 72 429/G266965 FmPA (/**) 216 274.33 T 72 418/G266966 FmPA ( * Set the DataContentHandlerFactory for DataHandlers) 216 263.33 T 72 407/G266967 FmPA ( */) 216 252.33 T 72 396/G266975 FmPA (public static synchronized setDataContentHandlerFactory\050) 216 241.33 T 72 385/G266976 FmPA ( DataContentHandlerFactory factory\051;) 216 230.33 T 72 374/G266977 FmPA 72 363/G264872 FmPA (/**) 216 208.33 T 72 352/G267616 FmPA (* If the DataHandler was created with a DataSource, the) 221.4 197.33 T 72 341/G267620 FmPA ( * InputStream is retrieved, and the bytes from the InputStream) 216 186.33 T 72 330/G267631 FmPA ( * are read to the OutputStream passed in. If the DataHandler) 216 175.33 T 72 319/G267632 FmPA ( * was created with an object, the DataContentHandler for the) 216 164.33 T 72 308/G267634 FmPA ( * object's type is retrieved and if found, the writeTo) 216 153.33 T 72 297/G267637 FmPA ( * method on it is called.) 216 142.33 T 72 286/G267640 FmPA ( *) 216 131.33 T (/) 226.8 131.33 T 72 275/G267641 FmPA (public void writeTo\050OutputStream os\051 throws IOException;) 216 120.33 T 72 264/G266981 FmPA 72 253/G266982 FmPA (/**) 216 98.33 T 72 242/G266983 FmPA 52 612.33 54 643.33 R V 52 128.33 54 203.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.9/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 189 739.85 T (y Frame) 217.6 739.85 T (w) 251.98 739.85 T (ork Interfaces) 258.8 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (10) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 6 F ( * Get the content of this DataHandler in terms of an object.) 198 681.33 T 54 825/G266984 FmPA ( */) 198 670.33 T 54 814/G266985 FmPA (public Object getContent\050\051 throws IOException;) 198 659.33 T 54 803/G266986 FmPA 54 792/G266987 FmPA (/**) 198 637.33 T 54 781/G265574 FmPA ( * Get preferred command list.) 198 626.33 T 54 770/G265256 FmPA ( *) 198 615.33 T 54 759/G265257 FmPA ( * Return an array of) 198 604.33 T (CommandInfo c) 316.8 604.33 T (lasses that describe) 387 604.33 T 54 748/G265258 FmPA ( * the preferred \050depending on the semantics of the CommandMap\051) 198 593.33 T 54 737/G265259 FmPA ( * beans that correspond to this objects MIME type. Usually) 198 582.33 T 54 726/G265262 FmPA ( * this method will return one) 198 571.33 T (CommandInfo f) 365.4 571.33 T (or each command for) 435.6 571.33 T 54 715/G266582 FmPA ( * the mimeType. \050calls directly into the CommandMap\051) 198 560.33 T 54 704/G265264 FmPA ( */) 198 549.33 T 54 693/G265265 FmPA (CommandI) 198 538.33 T (nfo[] getPreferredCommands\050\051;) 241.2 538.33 T 54 682/G265266 FmPA 54 671/G266964 FmPA (/**) 198 516.33 T 54 660/G265270 FmPA ( * Get all the available commands for this type.) 198 505.33 T 54 649/G265271 FmPA ( *) 198 494.33 T 54 638/G267654 FmPA ( * Return an array of) 198 483.33 T (CommandInfo c) 316.8 483.33 T (lasses that describe) 387 483.33 T 54 627/G267655 FmPA ( * all the commands known to the CommandMap that) 198 472.33 T 54 616/G267656 FmPA ( * can accept this object\325s MIME type.) 198 461.33 T 54 605/G265275 FmPA ( * \050calls directly into the CommandMap\051) 198 450.33 T 54 594/G265276 FmPA ( */) 198 439.33 T 54 583/G266589 FmPA (CommandI) 198 428.33 T (nfo[] getAllCommands\050\051;) 241.2 428.33 T 54 572/G266590 FmPA 54 561/G264874 FmPA (/**) 198 406.33 T 54 550/G265280 FmPA ( * Get the \324default\325 command \324cmdName\325 for this objects) 198 395.33 T 54 539/G265281 FmPA ( * MIME type.) 198 384.33 T 54 528/G266602 FmPA ( *) 198 373.33 T 54 517/G265284 FmPA ( * Attempts to find a command named \324cmdName\325 that) 198 362.33 T 54 506/G265283 FmPA ( * can accept the dh\325s MIME type. \050calls directly into) 198 351.33 T 54 495/G265285 FmPA ( * CommandMap\051) 198 340.33 T 54 484/G265286 FmPA ( */) 198 329.33 T 54 473/G265287 FmPA (CommandI) 198 318.33 T (nfo getCommand\050String cmd\051;) 241.2 318.33 T 54 462/G265288 FmPA 54 451/G264875 FmPA (/**) 198 296.33 T 54 440/G265290 FmPA ( * Return an instantiated instance of the bean) 198 285.33 T 54 429/G265294 FmPA ( *) 198 274.33 T 54 418/G265295 FmPA ( * This convenience method uses the) 198 263.33 T (CommandInfo c) 392.4 263.33 T (lass to) 462.6 263.33 T 54 407/G265296 FmPA ( * instantiate an instance of the bean, using this) 198 252.33 T 54 396/G265297 FmPA ( * DataHandler instance to set the DataHandler property) 198 241.33 T 54 385/G265298 FmPA ( * in beans that implement CommandObject.) 198 230.33 T 54 374/G265299 FmPA ( */) 198 219.33 T 54 363/G265300 FmPA (Object getBean\050) 198 208.33 T (CommandInfo b) 279 208.33 T (info\051;) 349.2 208.33 T 54 352/G265301 FmPA (}) 198 197.33 T 54 341/G265580 FmPA 0 10 Q (6.3) 166.1 167.66 T (DataContentHandler) 189 167.66 T 54 312/G264876 FmPA 1 F -0.32 (The DataContentHandler interf) 189 143.66 P -0.32 (ace is used to write ja) 313.22 143.66 P -0.32 (v) 397.78 143.66 P -0.32 (a objects used by the DataHandler) 402.53 143.66 P 54 288/G264877 FmPA (to con) 189 131.66 T (v) 213.32 131.66 T (ert InputStreams into Ja) 218.17 131.66 T (v) 313.24 131.66 T (a objects. Ef) 317.99 131.66 T (fecti) 367.45 131.66 T (v) 384.97 131.66 T (ely the DataHandler uses this mecha-) 389.82 131.66 T -0.12 (nism to implement the T) 189 119.66 P -0.12 (ransferable interf) 286.53 119.66 P -0.12 (ace. DataContentHandlers will be speci\336ed in) 354.89 119.66 P -0.01 (data \336les to refer to particular MIME types. DataFla) 189 107.66 P -0.01 (v) 397.27 107.66 P -0.01 (ors are used to represent the types) 402.07 107.66 P (accessible from a DataContentHandler) 189 95.66 T (. W) 343.13 95.66 T (e also pro) 356.77 95.66 T (vide an interf) 395.5 95.66 T (ace that allo) 448.72 95.66 T (ws us to) 496.79 95.66 T 34 601.33 36 610.33 R V 34 568.33 36 577.33 R V 34 535.33 36 544.33 R V 34 480.33 36 489.33 R V 34 425.33 36 434.33 R V 34 315.33 36 324.33 R V 34 260.33 36 269.33 R V 34 205.33 36 214.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.10/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 207 739.85 T (y Frame) 235.6 739.85 T (w) 269.98 739.85 T (ork Interfaces) 276.8 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (11) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 1 F -0.29 (write DataContentHandlers that go in the opposite direction. F) 207 680.66 P -0.29 (or instance an application) 454.2 680.66 P (may ha) 207 668.66 T (v) 235.96 668.66 T (e an Image Object the) 240.81 668.66 T (y wish to access as a gif \336le. The image.gif DataCon-) 328.41 668.66 T (tentHandler w) 207 656.66 T (ould be used to con) 263.83 656.66 T (v) 341.2 656.66 T (ert the Image object into a gif format byte stream.) 346.05 656.66 T 6 9 Q (// DataContentHandler) 216 639.33 T 72 783/G264878 FmPA (public interface DataContentHandler {) 216 628.33 T 72 772/G265303 FmPA (/**) 216 617.33 T 72 761/G265304 FmPA ( * return the DataFlavors for this DCH or a zero length array) 216 606.33 T 72 750/G265305 FmPA ( */) 216 595.33 T 72 739/G265306 FmPA (public DataFlavors[] getTransferDataFlavors\050\051;) 216 584.33 T 72 728/G265307 FmPA 72 717/G265308 FmPA (/**) 216 562.33 T 72 706/G265309 FmPA ( * return the Transfer Data) 216 551.33 T 72 695/G265310 FmPA ( */) 216 540.33 T 72 684/G265315 FmPA (public Object getTransferData\050DataFlavor df, DataSource ds\051) 216 529.33 T 72 673/G265316 FmPA (throws UnsupportedDataFlavorException,IOException;) 216 518.33 T 72 651/G265317 FmPA (/**) 216 496.33 T 72 640/G265324 FmPA -0.36 ( * Return an object representing the content of this DataSource.) 216 485.33 P 72 629/G266990 FmPA ( */) 216 474.33 T 72 618/G266991 FmPA (public Object getContent\050DataSource ds\051 throws IOException;) 216 463.33 T 72 607/G266992 FmPA 72 596/G265325 FmPA (/**) 216 441.33 T 72 585/G265581 FmPA ( *Write the contents of an object to an OutputStream) 216 430.33 T 72 574/G265326 FmPA ( */) 216 419.33 T 72 563/G265331 FmPA (public void writeTo\050Object obj,) 216 408.33 T 72 552/G265332 FmPA ( String mimeType,) 216 397.33 T 72 541/G267661 FmPA (O) 324 386.33 T (utputStream os\051) 329.4 386.33 T 72 530/G265333 FmPA ( throws IOException;) 216 375.33 T 72 519/G265335 FmPA (}) 216 364.33 T 72 508/G264880 FmPA 0 10 Q (6.4) 184.1 334.66 T ( CommandMap) 207 334.66 T 72 479/G264881 FmPA 1 F -0.39 (Once the DataHandler has a MIME T) 207 310.66 P -0.39 (ype for the content, it can query the CommandMap) 354.35 310.66 P 72 455/G264882 FmPA -0.09 (for the operations, or) 207 298.66 P 2 F -0.09 (commands) 293.01 298.66 P 1 F -0.09 ( that are a) 335.78 298.66 P -0.09 (v) 374.46 298.66 P -0.09 (ailable to that type. The application requests) 379.21 298.66 P (commands through the DataHandler \050which in turn uses the CommandMap\051 to retrie) 207 286.66 T (v) 545.31 286.66 T (e) 550.16 286.66 T -0.12 (the Ja) 207 274.66 P -0.12 (v) 229.73 274.66 P -0.12 (aBean associated with that command. Some or all of the command map is stored) 234.48 274.66 P (in some \324common\325 place. One possible lightweight implementation might be a \336le lik) 207 262.66 T (e) 549.39 262.66 T (.mailcap \050RFC 1524\051 \336le. One could imagine more featureful implementations that) 207 250.66 T (were perhaps distrib) 207 238.66 T (uted, or pro) 287.89 238.66 T (vided licensing or authentication features.) 334.12 238.66 T 6 9 Q (public abstract class CommandMap {) 216 221.33 T 72 365/G264884 FmPA ( /**) 216 210.33 T 72 354/G265338 FmPA -0.33 ( * gets the default CommandMap as defined by the implementation) 216 199.33 P 72 343/G265339 FmPA ( */) 216 188.33 T 72 332/G265340 FmPA ( public static CommandMap getDefaultCommandMap\050\051;) 216 177.33 T 72 321/G265341 FmPA 72 310/G265795 FmPA ( /**) 216 155.33 T 72 299/G265796 FmPA ( * sets the DefaultCommandMap) 216 144.33 T 72 288/G264885 FmPA ( */) 216 133.33 T 72 277/G265797 FmPA (public static void setDefaultCommandMap\050CommandMap) 216 122.33 T ( map) 486 122.33 T (\051;) 507.6 122.33 T 72 266/G265801 FmPA 72 255/G265802 FmPA (/**) 221.4 100.33 T 72 244/G265343 FmPA 52 383.33 54 403.33 R V 52 119.33 54 128.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.11/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Primar) 189 739.85 T (y Frame) 217.6 739.85 T (w) 251.98 739.85 T (ork Interfaces) 258.8 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (12) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 6 F ( * Get preferred command list.) 198 681.33 T 54 825/G265344 FmPA ( *) 198 670.33 T 54 814/G265345 FmPA -0.75 ( * Return a) 198 659.33 P -0.75 ( non-null a) 259.8 659.33 P -0.75 (rray of) 317.7 659.33 P -0.75 (CommandInfo objects t) 359.4 659.33 P -0.75 (hat describe) 471.3 659.33 P 54 803/G265346 FmPA -0.33 ( * the preferred \050depending on the semantics of the CommandMap\051) 198 648.33 P 54 792/G265347 FmPA ( * beans that correspond to this mimeType. Usually this) 198 637.33 T 54 781/G265350 FmPA ( * method will return one BeanInfo for each command for) 198 626.33 T 54 770/G265351 FmPA ( * the mimeType.) 198 615.33 T 54 759/G265352 FmPA ( */) 198 604.33 T 54 748/G265353 FmPA ( abstract public) 198 593.33 T (CommandInfo[) 289.8 593.33 T (] getPreferredCommands\050String) 354.6 593.33 T 54 737/G265357 FmPA -0.07 ( mimeType\051;) 198 582.33 P 54 726/G265803 FmPA ( /**) 198 571.33 T 54 715/G264886 FmPA ( * Get all the available commands for this type.) 198 560.33 T 54 704/G265359 FmPA ( *) 198 549.33 T 54 693/G265360 FmPA -0.33 ( * Return a) 198 538.33 P -0.33 ( non-null a) 261.49 538.33 P -0.33 (rray of) 320.24 538.33 P -0.33 (CommandInfo objects t) 362.78 538.33 P -0.33 (hat describe) 475.53 538.33 P 54 682/G265361 FmPA ( * all the commands known to the CommandMap that) 198 527.33 T 54 671/G265362 FmPA ( * can accept this mime type.) 198 516.33 T 54 660/G265363 FmPA ( */) 198 505.33 T 54 649/G265364 FmPA ( abstract public) 198 494.33 T (CommandInfo[) 289.8 494.33 T (] getAllCommands\050String mimeType\051;) 354.6 494.33 T 54 638/G265365 FmPA 54 627/G264887 FmPA ( /**) 198 472.33 T 54 616/G265367 FmPA ( * Get the \324default\325 command \324cmdName\325 for this mime) 198 461.33 T 54 605/G265368 FmPA ( * type) 198 450.33 T 54 594/G265369 FmPA ( *) 198 439.33 T 54 583/G265370 FmPA ( * Attempts to find a command named \324cmdName\325 that) 198 428.33 T 54 572/G265371 FmPA ( * can accept mimeType.) 198 417.33 T 54 561/G265372 FmPA ( */) 198 406.33 T 54 550/G265373 FmPA ( abstract public) 198 395.33 T (CommandInfo g) 289.8 395.33 T (etCommand\050String mimeType,) 360 395.33 T 54 539/G265374 FmPA ( String cmdName\051;) 198 384.33 T 54 528/G265804 FmPA (}) 198 373.33 T 54 517/G264888 FmPA 0 10 Q (6.5) 166.1 343.66 T (CommandInf) 189 343.66 T (o) 249.91 343.66 T 54 488/G264889 FmPA 1 F -0.37 (The CommandInfo class is returned by the CommandMap to represent commands in the) 189 327.66 P 54 472/G267859 FmPA (underlying re) 189 315.66 T (gistry) 242.45 315.66 T (. From the CommandInfo an application can instantiate the bean or) 264.58 315.66 T (request the v) 189 303.66 T (erb it describes.) 239.95 303.66 T 6 9 Q (public class CommandInfo {) 198 286.33 T 54 430/G267860 FmPA ( public CommandInfo\050String verb, String className\051;) 198 275.33 T 54 419/G267865 FmPA ( // get the command verb) 198 264.33 T 54 408/G267867 FmPA ( public String getCommandName\050\051;) 198 253.33 T 54 397/G267866 FmPA ( // Return the instantiated object, pass the DataHandler to) 198 242.33 T 54 386/G267868 FmPA ( // it if it implements the CommandObject interface. If the) 198 231.33 T 54 375/G267869 FmPA -0.36 ( // DataHandler variable is null, return the instantiated bean.) 198 220.33 P 54 364/G267870 FmPA ( public Object getCommandObject\050DataHandler dh,) 198 209.33 T 54 353/G267871 FmPA ( ClassLoader cl\051;) 198 198.33 T 54 342/G267872 FmPA (}) 198 187.33 T 54 331/G267862 FmPA 0 10 Q (6.6) 166.1 157.66 T (Command) 189 157.66 T (O) 237.89 157.66 T (bject) 245.67 157.66 T 54 302/G267858 FmPA 1 F (W) 189 133.66 T (e e) 197.64 133.66 T (xpect Ja) 208.87 133.66 T (v) 241.16 133.66 T (aBeans that are designed speci\336cally) 245.91 133.66 T (for u) 395.6 133.66 T (se) 414.76 133.66 T ( with t) 423.09 133.66 T (he) 448.65 133.66 T (Ja) 460.59 133.66 T (v) 468.72 133.66 T (aBeans Acti) 473.47 133.66 T (v) 521.82 133.66 T (a-) 526.57 133.66 T 54 278/G264890 FmPA (tion Frame) 189 121.66 T (w) 232.36 121.66 T (ork w) 239.48 121.66 T (ill implement the CommandObject interf) 262.53 121.66 T (ace. Speci\336cally it gi) 425.76 121.66 T (v) 509.39 121.66 T (es) 514.24 121.66 T (beans direct access to methods in the DataHandler) 189 109.66 T ( as well as notifying the bean which) 390.34 109.66 T (v) 189 97.66 T (erb w) 193.85 97.66 T (as used to call it.) 216.24 97.66 T 34 656.33 36 665.33 R V 34 590.33 36 599.33 R V 34 535.33 36 544.33 R V 34 491.33 36 500.33 R V 34 392.33 36 401.33 R V 34 94.33 36 350.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.12/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Writing Beans f) 207 739.85 T (or the Frame) 272.83 739.85 T (w) 327.2 739.85 T (ork) 334.03 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (13) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 6 9 Q (public interface CommandObject {) 216 681.33 T 72 825/G264892 FmPA ( /**) 216 670.33 T 72 814/G265378 FmPA (* Passes the verb the bean was instantiated from as well) 232.2 659.33 T 72 803/G265379 FmPA ( * as the DataHandler with the bean\325s data to the bean.) 216 648.33 T 72 792/G267684 FmPA ( *) 216 637.33 T (/) 237.6 637.33 T 72 781/G267685 FmPA (public void) 226.8 626.33 T (setCommandContext\050String verb, DataHandler dh\051;) 291.6 626.33 T 72 770/G265381 FmPA (}) 216 615.33 T 72 759/G266423 FmPA 72 748/G265382 FmPA 0 10 Q (6.7) 184.1 574.66 T (DataContentHandlerF) 207 574.66 T (actor) 309.58 574.66 T (y) 334.13 574.66 T 72 719/G267005 FmPA 1 F (Lik) 207 558.66 T (e the ContentHandler f) 220.79 558.66 T (actory in the) 312.06 558.66 T 6 F (java.net) 364.55 558.66 T 1 F ( package, the DataContentHandler-) 412.55 558.66 T 72 703/G267006 FmPA (F) 207 546.66 T (actory is an interf) 212.41 546.66 T (ace that allo) 282.57 546.66 T (ws de) 330.64 546.66 T (v) 353.44 546.66 T (elopers to write objects that map MIME types to) 358.29 546.66 T (DataContentHandlers. The interf) 207 534.66 T (ace is e) 338.26 534.66 T (xtremely simple, de) 367.54 534.66 T (v) 446.45 534.66 T (elopers are free to imple-) 451.3 534.66 T (ment what e) 207 522.66 T (v) 255.63 522.66 T (er implementation the) 260.48 522.66 T (y w) 348.1 522.66 T (ant.) 362.72 522.66 T 6 9 Q (public interface DataContentHandlerFactory {) 216 505.33 T 72 649/G267010 FmPA ( /**) 216 494.33 T 72 638/G267012 FmPA ( * create a DataContentHandler for the mimeType) 216 483.33 T 72 627/G267013 FmPA ( */) 216 472.33 T 72 616/G267014 FmPA ( public DataContentHandler createDataContentHandler\050) 216 461.33 T 72 605/G267015 FmPA ( String mimeType\051;) 216 450.33 T 72 594/G267023 FmPA (}) 216 439.33 T 72 583/G267008 FmPA 72 396.33 558 399.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 398.48 558 398.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 398.48 198 398.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (7.0) 181.32 403.33 T (Writing Beans f) 207 403.33 T (or the Frame) 294.77 403.33 T (w) 367.27 403.33 T (ork) 376.37 403.33 T 72 547/G264898 FmPA 0 10 Q (7.1) 184.1 369.66 T (Over) 207 369.66 T (vie) 229.89 369.66 T (w) 243.64 369.66 T 72 514/G265063 FmPA 1 F (This document describes the speci\336cation of well beha) 207 345.66 T (v) 425.93 345.66 T (ed vie) 430.78 345.66 T (wers in the Ja) 454.69 345.66 T (v) 509.2 345.66 T (aBeans) 513.95 345.66 T 72 490/G264900 FmPA (Acti) 207 333.66 T (v) 223.97 333.66 T (ation Frame) 228.72 333.66 T (w) 276.52 333.66 T (ork. It is important to note that this proposal is based hea) 283.64 333.66 T (vily on Ja) 510.65 333.66 T (v-) 549.34 333.66 T (aBeans and de) 207 321.66 T (v) 264.51 321.66 T (elopers intending to implement vie) 269.36 321.66 T (wers for the frame) 408.55 321.66 T (w) 481.88 321.66 T (ork should be) 489 321.66 T (f) 207 309.66 T (amiliar with their basic concepts.) 210.23 309.66 T 0 F (7.2) 184.1 279.66 T (Vie) 207 279.66 T (wer Goals) 221.86 279.66 T 72 424/G264901 FmPA 0 9 Q (1.) 207 263.66 T 1 10 Q (Mak) 220.74 263.66 T (e the implementation of vie) 238.98 263.66 T (wers and editors as simple as implementing Ja) 348.71 263.66 T (v) 533.77 263.66 T (a-) 538.52 263.66 T 72 408/G264902 FmPA (Beans.) 220.74 251.66 T (i.e.:) 250.18 251.66 T ( lo) 265.18 251.66 T (w cost of entry to be a) 275.21 251.66 T 2 F (good) 366.58 251.66 T 1 F ( citizen.) 386.58 251.66 T 0 9 Q (2.) 207 236.66 T 1 10 Q (Allo) 220.74 236.66 T (w de) 238.27 236.66 T (v) 257.18 236.66 T (elopers to ha) 262.04 236.66 T (v) 312.93 236.66 T (e a certain amount of \337e) 317.79 236.66 T (xibility in their implementations.) 414.55 236.66 T 72 381/G264903 FmPA 0 F (7.3) 184.1 206.66 T (General) 207 206.66 T 72 351/G264904 FmPA 1 F (W) 207 182.66 T (e are attempting to limit the amount of e) 215.64 182.66 T (xtra bagg) 376.59 182.66 T (age that needs to be implemented) 414.03 182.66 T 72 327/G266484 FmPA (from \324generic\325 Ja) 207 170.66 T (v) 275.66 170.66 T (aBeans. As a matter of f) 280.41 170.66 T (act, in man) 376.95 170.66 T (y cases Ja) 420.96 170.66 T (v) 460.19 170.66 T (aBeans which weren\325) 464.94 170.66 T (t) 550.84 170.66 T (de) 207 158.66 T (v) 216.19 158.66 T (eloped with kno) 221.04 158.66 T (wledge of the frame) 285.23 158.66 T (w) 365.23 158.66 T (ork can be used. Where possible we will) 372.35 158.66 T (e) 207 146.66 T (xploit the e) 211.29 146.66 T (xisting features of Ja) 256.14 146.66 T (v) 338.98 146.66 T (aBeans and the JDK and de\336ne as fe) 343.73 146.66 T (w additional) 489.83 146.66 T (interf) 207 134.66 T (aces and policies as possible. W) 228.56 134.66 T (e e) 356.07 134.66 T (xpect that in the \336rst release, vie) 367.3 134.66 T (wers/editors) 496.75 134.66 T (will be bound to data via a simple re) 207 122.66 T (gistry mechanism similar in function to a .mailcap) 352.39 122.66 T (\336le. W) 207 110.66 T (e also plan to e) 233.42 110.66 T (xploit an) 293.26 110.66 T (y future e) 328.39 110.66 T (xtensions to the ClassLoader that might allo) 366.56 110.66 T (w) 542.42 110.66 T (auto disco) 207 98.66 T (v) 247.68 98.66 T (ery of con\336guration \336les on the system. This w) 252.53 98.66 T (ould allo) 441.03 98.66 T (w de) 476.06 98.66 T (v) 494.97 98.66 T (elopers to) 499.82 98.66 T 52 623.33 54 665.33 R V 52 248.33 54 258.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.13/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Writing Beans f) 189 739.85 T (or the Frame) 254.83 739.85 T (w) 309.2 739.85 T (ork) 316.03 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (14) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 1 10 Q (deli) 189 680.66 T (v) 203.75 680.66 T (er supplementary re) 208.6 680.66 T (gistry \336les to be appended to the system ones allo) 287.87 680.66 T (wing addi-) 486.22 680.66 T (tional packages to be added at runtime.) 189 668.66 T (Our vie) 189 644.66 T (wers/editors and related classes and \336les will be encapsulated into J) 219.02 644.66 T (AR \336les \050as) 488.93 644.66 T 54 789/G264906 FmPA (is the preferred method for beans\051. No restrictions will be made on which classes are) 189 632.66 T (used to implement beans be) 189 620.66 T (yond those e) 299.95 620.66 T (xpected of \324well beha) 350.35 620.66 T (v) 436.51 620.66 T (ed\325 beans.) 441.36 620.66 T 0 F (7.4) 166.1 590.66 T (Interfaces) 189 590.66 T 54 735/G264907 FmPA 1 F (Components can to implement the \324CommandObject\325 interf) 189 566.66 T (ace if the) 427.77 566.66 T (y wish to commu-) 464.27 566.66 T 54 711/G264908 FmPA (nicate directly with their DataHandler and DataSource. The interf) 189 554.66 T (ace is small and easy) 451.33 554.66 T (to implement. Beans ho) 189 542.66 T (we) 283.75 542.66 T (v) 295.16 542.66 T (er can still use the traditional Serialization and Externaliza-) 300.01 542.66 T (tion methods a) 189 530.66 T (v) 247.69 530.66 T (ailable in JDK 1.1 and later) 252.44 530.66 T (.) 361.87 530.66 T 0 F (7.5) 166.1 500.66 T (Stora) 189 500.66 T (g) 214.46 500.66 T (e) 220.67 500.66 T 54 645/G264909 FmPA 1 F (As mentioned earlier) 189 476.66 T (, the canonical method of storage is via the DataHandler and Data-) 272.47 476.66 T 54 621/G264910 FmPA (Source. It is ho) 189 464.66 T (we) 249.3 464.66 T (v) 260.71 464.66 T (er possible to use Serialization and Externalization. An application) 265.56 464.66 T (that uses the frame) 189 452.66 T (w) 264.01 452.66 T (ork could for instance implement the follo) 271.13 452.66 T (wing:) 439.75 452.66 T 6 9 Q (ObjectOutputStream oos = new ObjectOutputStream\050) 198 435.33 T 54 579/G264911 FmPA ( try {) 198 424.33 T 54 568/G267035 FmPA -0.42 ( data_handler.getOutputStream\050\051\051;) 198 413.33 P 54 557/G265396 FmPA ( } catch\050IOException e\051 {}) 198 402.33 T 54 546/G267036 FmPA (my_externalizable_bean.writeExternal\050oos\051;) 198 391.33 T 54 535/G265399 FmPA 1 10 Q (The use of Serialized Objects is still being de) 189 367.66 T (v) 369.84 367.66 T (eloped.) 374.69 367.66 T 54 512/G265402 FmPA 0 F (7.6) 166.1 337.66 T (P) 189 337.66 T (ac) 195.37 337.66 T (ka) 206.29 337.66 T (ging) 217.31 337.66 T 54 482/G264913 FmPA 1 F -0.05 (The basic format for packaging of the V) 189 313.66 P -0.05 (ie) 348.83 313.66 P -0.05 (wer/Editors is the J) 355.8 313.66 P -0.05 (AR \336le as described in the) 431.99 313.66 P 54 458/G264914 FmPA -0.19 (Ja) 189 301.66 P -0.19 (v) 197.13 301.66 P -0.19 (aBeans speci\336cations. This format allo) 201.88 301.66 P -0.19 (ws the con) 356.11 301.66 P -0.19 (v) 398.09 301.66 P -0.19 (enient packaging of collections of) 402.94 301.66 P (\336les that are related to a particular Ja) 189 289.66 T (v) 336.26 289.66 T (aBean or applet \050see section 8 about Inte) 341.01 289.66 T (gration) 503.32 289.66 T (Points belo) 189 277.66 T (w\051.) 233.48 277.66 T 0 F (7.7) 166.1 247.66 T (Container Suppor) 189 247.66 T (t) 273.65 247.66 T 54 392/G264915 FmPA 1 F (The Ja) 189 223.66 T (v) 215.18 223.66 T (aBeans Acti) 219.93 223.66 T (v) 268.28 223.66 T (ation Frame) 273.03 223.66 T (w) 320.83 223.66 T (ork has been designed to be \337e) 327.95 223.66 T (xible enough to sup-) 451.11 223.66 T 54 368/G264916 FmPA -0.09 (port the needs of a v) 189 211.66 P -0.09 (ariety of applications. It is e) 269.68 211.66 P -0.09 (xpected that these applications will pro-) 380.74 211.66 P -0.05 (vide the appropriate containers and life c) 189 199.66 P -0.05 (ycle support for these beans. Beans written for) 351.84 199.66 P (the frame) 189 187.66 T (w) 226.79 187.66 T (ork should be compatible with the guidelines in the Ja) 233.91 187.66 T (v) 449.53 187.66 T (aBeans documenta-) 454.28 187.66 T -0.03 (tion and should be tested ag) 189 175.66 P -0.03 (ainst the BDK BeanBox \050and the JDK Appletvie) 300.18 175.66 P -0.03 (wer if the) 494.42 175.66 P -0.03 (y) 532.53 175.66 P (are subclassed from Applet\051.) 189 163.66 T 0 F (7.8) 166.1 133.66 T (Lif) 189 133.66 T (ec) 201.12 133.66 T (yc) 212.14 133.66 T (le) 223.06 133.66 T 54 278/G264917 FmPA 1 F -0.34 (In general we e) 189 109.66 P -0.34 (xpect that the life c) 249.19 109.66 P -0.34 (ycle semantics of beans used in the frame) 324.34 109.66 P -0.34 (w) 488.07 109.66 P -0.34 (ork will be) 495.19 109.66 P 54 254/G265828 FmPA (the same as those for all Ja) 189 97.66 T (v) 296 97.66 T (aBeans. In the case of beans that implement the Comman-) 300.75 97.66 T 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.14/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Frame) 207 739.85 T (w) 233.87 739.85 T (ork Integration P) 240.7 739.85 T (oints) 311.85 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (15) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 1 F (dObject interf) 207 680.66 T (ace we encourage application de) 262.72 680.66 T (v) 392.42 680.66 T (elopers to not parent beans subclassed) 397.27 680.66 T -0.24 (from ja) 207 668.66 P -0.24 (v) 235.72 668.66 P -0.24 (a.a) 240.47 668.66 P -0.24 (wt.Component to an A) 251.7 668.66 P -0.24 (WT container until after the) 341.18 668.66 P -0.24 (y ha) 451.69 668.66 P -0.24 (v) 468.19 668.66 P -0.24 (e set the ja) 473.04 668.66 P -0.24 (v) 514.6 668.66 P -0.24 (ax.acti) 519.35 668.66 P -0.24 (v) 545.48 668.66 P -0.24 (a-) 550.23 668.66 P (tion.CommandObject.) 207 656.66 T (setCommandConte) 295.89 656.66 T (xt m) 372.41 656.66 T (ethod.) 390.47 656.66 T 0 F (7.9) 184.1 626.66 T (Command V) 207 626.66 T (erbs) 264.84 626.66 T 72 771/G264920 FmPA 1 F (The implementation of the) 207 602.66 T (MailcapCommandMap w) 315.88 602.66 T (ill pro) 418.37 602.66 T (vide a mechanism to allo) 442.39 602.66 T (w) 542.13 602.66 T 72 747/G264921 FmPA (for an e) 207 590.66 T (xtensible set of command v) 237.39 590.66 T (erbs. Applications using the frame) 347.23 590.66 T (w) 484.46 590.66 T (ork will be able) 491.58 590.66 T (query the system for commands a) 207 578.66 T (v) 341.5 578.66 T (ailable for a particular MIME type and retrie) 346.25 578.66 T (v) 524.56 578.66 T (e the) 529.41 578.66 T (bean associated with them.) 207 566.66 T 72 523.33 558 526.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 525.48 558 525.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 525.48 198 525.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (8.0) 181.32 530.33 T (Frame) 207 530.33 T (w) 242.83 530.33 T (ork Integration P) 251.93 530.33 T (oints) 346.8 530.33 T 72 674/G265985 FmPA 1 10 Q (In an attempt to clarify ho) 207 502.66 T (w Beans de) 310.9 502.66 T (v) 356.75 502.66 T (elopers can inte) 361.6 502.66 T (grate with the Ja) 424.21 502.66 T (v) 489.83 502.66 T (aBeans Acti) 494.58 502.66 T (v) 542.93 502.66 T (a-) 547.68 502.66 T 72 647/G266278 FmPA (tion Frame) 207 490.66 T (w) 250.36 490.66 T (ork, we present a number of scenarios.) 257.48 490.66 T (First, let\325) 207 466.66 T (s re) 243.12 466.66 T (vie) 257.03 466.66 T (w the plugg) 269 466.66 T (able components of the Ja) 316.17 466.66 T (v) 419.84 466.66 T (aBeans Acti) 424.59 466.66 T (v) 472.94 466.66 T (ation Frame) 477.69 466.66 T (w) 525.49 466.66 T (ork:) 532.61 466.66 T 72 611/G266323 FmPA 4 11 Q (\245) 207 447.99 T 1 10 Q (a mechanism for getting to the storage of data, DataSource) 220.74 447.99 T 72 592/G266280 FmPA 4 11 Q (\245) 207 431.99 T 1 10 Q (a mechanism to con) 220.74 431.99 T (v) 300.05 431.99 T (ert data objects to and from an) 304.9 431.99 T ( e) 429.04 431.99 T (xternal byte stream format,) 435.83 431.99 T 72 576/G266343 FmPA (DataContentHandler) 220.74 419.66 T 4 11 Q (\245) 207 403.99 T 1 10 Q (a mechanism to locate visual components that operate on data objects, Command-) 220.74 403.99 T 72 548/G266346 FmPA (Map) 220.74 391.66 T 4 11 Q (\245) 207 375.99 T 1 10 Q (the visual components that operate on data objects, Beans) 220.74 375.99 T 72 520/G266349 FmPA (As a Bean de) 207 351.66 T (v) 259.79 351.66 T (eloper) 264.64 351.66 T (, you\325) 289.23 351.66 T (re unlik) 312.06 351.66 T (ely to need to de) 342.79 351.66 T (v) 408.64 351.66 T (elop a ne) 413.49 351.66 T (w DataSource or Com-) 449.34 351.66 T 72 496/G266281 FmPA (mandMap. Y) 207 339.66 T (ou might de) 258.67 339.66 T (v) 306.2 339.66 T (elop a DataContentHandler and of course you\325) 311.05 339.66 T (ll be b) 497.57 339.66 T (uilding) 522.37 339.66 T (the visual Beans.) 207 327.66 T 0 F (8.1) 184.1 297.66 T (A Bean) 207 297.66 T 72 442/G266282 FmPA 1 F -0.19 (Suppose you\325) 207 273.66 P -0.19 (re b) 261.03 273.66 P -0.19 (uilding a ne) 275.92 273.66 P -0.19 (w W) 322.51 273.66 P -0.19 (ombat Editor product, with its corresponding W) 340.68 273.66 P -0.19 (ombat) 530.69 273.66 P 72 418/G266352 FmPA -0.12 (\336le format. Y) 207 261.66 P -0.12 (ou\325) 259.82 261.66 P -0.12 (v) 272.65 261.66 P -0.12 (e b) 277.5 261.66 P -0.12 (uilt the W) 289.12 261.66 P -0.12 (ombat Editor as one big Bean. Y) 328.08 261.66 P -0.12 (our W) 457.08 261.66 P -0.12 (ombatBean can do) 481.43 261.66 P (an) 207 249.66 T (ything and e) 216.29 249.66 T (v) 265.48 249.66 T (erything that you might w) 270.33 249.66 T (ant to do with a W) 374.12 249.66 T (ombat. It can edit, it can) 447.48 249.66 T (print, it can vie) 207 237.66 T (w) 267.3 237.66 T (, it can sa) 273.87 237.66 T (v) 311.44 237.66 T (e W) 316.29 237.66 T (ombats to \336les, and it can read W) 331.87 237.66 T (ombats in from \336les.) 464.94 237.66 T -0.15 (Y) 207 225.66 P -0.15 (ou\325) 213.12 225.66 P -0.15 (v) 225.95 225.66 P -0.15 (e de\336ned the W) 230.8 225.66 P -0.15 (ombat \336le format in a language-independent manner) 292.59 225.66 P -0.15 (, and you con-) 501.24 225.66 P (sider the W) 207 213.66 T (ombat data and \336le formats to be proprietary so you ha) 252.3 213.66 T (v) 471.51 213.66 T (e no need to of) 476.36 213.66 T (fer) 535.54 213.66 T (programmatic interf) 207 201.66 T (aces to W) 287.16 201.66 T (ombats be) 325.79 201.66 T (yond what your W) 366.47 201.66 T (ombatBean supports.) 440.38 201.66 T (Y) 207 177.66 T (ou\325) 213.12 177.66 T (v) 225.95 177.66 T (e chosen the MIME type \322application/x-w) 230.8 177.66 T (ombat\323 to describe your W) 399.28 177.66 T (ombat \336le) 506.79 177.66 T 72 322/G266284 FmPA -0.22 (format, and you\325) 207 165.66 P -0.22 (v) 272.99 165.66 P -0.22 (e chosen the \336lename e) 277.84 165.66 P -0.22 (xtension \322.w) 370.13 165.66 P -0.22 (om\323 to be used by \336les containing) 420.36 165.66 P (W) 207 153.66 T (ombats.) 215.64 153.66 T (T) 207 129.66 T (o inte) 212.31 129.66 T (grate with the frame) 234.66 129.66 T (w) 315.22 129.66 T (ork, you\325) 322.34 129.66 T (ll need some simple wrappers for your W) 358.9 129.66 T (ombat-) 523.9 129.66 T 72 274/G266285 FmPA (Bean for each command you w) 207 117.66 T (ant to implement. F) 331.59 117.66 T (or e) 409.78 117.66 T (xample, for a Print command) 424.9 117.66 T (wrapper you might do something lik) 207 105.66 T (e:) 352.73 105.66 T 52 653.33 54 663.33 R V 52 599.33 54 609.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.15/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "15" 15 %%Page: "16" 16 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Frame) 189 739.85 T (w) 215.87 739.85 T (ork Integration P) 222.7 739.85 T (oints) 293.85 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (16) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 6 F (public class WombatPrintBean extends WombatBean {) 198 681.33 T 54 825/G266286 FmPA ( public WombatPrintBean\050\051 {) 198 670.33 T 54 814/G266356 FmPA ( super\050\051;) 198 659.33 T 54 803/G266357 FmPA ( initPrinting\050\051;) 198 648.33 T 54 792/G266358 FmPA ( }) 198 637.33 T 54 781/G266359 FmPA ( }) 198 626.33 T 54 770/G266360 FmPA 1 10 Q (Y) 189 602.66 T (ou\325) 195.12 602.66 T (ll need to create a mailcap \336le that lists the MIME type \322application/x-w) 208.35 602.66 T (ombat\323) 498.21 602.66 T 54 747/G266287 FmPA (and user visible commands that are supported by your W) 189 590.66 T (ombatBean. Y) 416.22 590.66 T (our W) 472.89 590.66 T (ombat-) 497.36 590.66 T (Bean wrappers will be listed as the objects supporting each of these commands.) 189 578.66 T 6 9 Q (application/x-wombat; ; x-java-View=com.foo.WombatViewBean; \134) 198 561.33 T 54 705/G266288 FmPA ( x-java-Edit=com.foo.WombatEditBean; \134) 198 550.33 T 54 694/G266364 FmPA ( x-java-Print=com.foo.WombatPrintBean) 203.4 539.33 T 54 683/G266365 FmPA 1 10 Q (Y) 189 515.66 T (ou\325) 195.12 515.66 T (ll also need to create a mime.types \336le with an entry:) 208.35 515.66 T 54 660/G266289 FmPA 6 9 Q (type=application/x-wombat desc=\323Wombat\323 exts=wom) 198 498.33 T 54 642/G266290 FmPA 1 10 Q (All of these components will be packaged in a J) 189 474.66 T (AR \336le:) 379.76 474.66 T 54 619/G266291 FmPA 6 9 Q (META-INF/mailcap) 198 457.33 T 54 601/G266292 FmPA (META-INF/mime.types) 198 446.33 T 54 590/G266366 FmPA (com/foo/WombatBean.class) 198 435.33 T 54 579/G266367 FmPA (com/foo/WombetEditBean.class) 198 424.33 T 54 568/G266635 FmPA (com/foo/WombatViewBean.class) 198 413.33 T 54 557/G266631 FmPA 1 10 Q (Because e) 189 389.66 T (v) 229.01 389.66 T (erything is b) 233.86 389.66 T (uilt into one Bean, and because no third party programmatic) 283.66 389.66 T 54 534/G266293 FmPA (access to your W) 189 377.66 T (ombat objects is required, there\325) 256.79 377.66 T (s no need for a DataContentHandler) 385.38 377.66 T (.) 528.96 377.66 T -0.21 (Y) 189 365.66 P -0.21 (our W) 195.12 365.66 P -0.21 (ombatBean might implement the Externalizable interf) 219.38 365.66 P -0.21 (ace and use its methods to) 434.05 365.66 P (read and write your W) 189 353.66 T (ombat \336les. The DataHandler will arrange to call the Externaliz-) 278.17 353.66 T (able methods when appropriate.) 189 341.66 T 0 F (8.2) 166.1 311.66 T ( Beans) 189 311.66 T 54 456/G266294 FmPA 1 F (Y) 189 287.66 T (our W) 195.12 287.66 T (ombat Editor product has really tak) 219.59 287.66 T (en of) 360.86 287.66 T (f, and you\325) 380.88 287.66 T (re no) 423.98 287.66 T (w adding signi\336cant) 444 287.66 T 54 432/G266295 FmPA (ne) 189 275.66 T (w functionality and \337e) 198.19 275.66 T (xibility to your W) 288.31 275.66 T (ombat Editor) 359.46 275.66 T (. It\325) 411.41 275.66 T (s no longer feasible to put) 425.3 275.66 T (e) 189 263.66 T (v) 193.19 263.66 T (erything into one giant Bean. Instead, you\325) 198.04 263.66 T (v) 368.63 263.66 T (e brok) 373.48 263.66 T (en the product into a number of) 398.65 263.66 T (Beans and other components:) 189 251.66 T 4 11 Q (\245) 189 232.99 T 1 10 Q (a W) 202.74 232.99 T (ombatV) 218.32 232.99 T (ie) 249.95 232.99 T (wer Bean that can be used to quickly vie) 256.92 232.99 T (w a W) 418.85 232.99 T (ombat in read-only) 444.15 232.99 T 54 377/G266378 FmPA (mode.) 202.74 220.66 T 4 11 Q (\245) 189 204.99 T 1 10 Q (a W) 202.74 204.99 T (ombatEditor Bean that is more hea) 218.32 204.99 T (vy weight than the W) 357.27 204.99 T (ombatV) 442.57 204.99 T (ie) 474.19 204.99 T (wer) 481.16 204.99 T (, b) 495.75 204.99 T (ut also) 505.55 204.99 T 54 349/G266372 FmPA (allo) 202.74 192.66 T (ws editing.) 217.49 192.66 T 4 11 Q (\245) 189 176.99 T 1 10 Q (a W) 202.74 176.99 T (ombatPrinter Bean that simply allo) 218.32 176.99 T (ws you to print a W) 358.07 176.99 T (ombat.) 436.43 176.99 T 54 321/G266384 FmPA 4 11 Q (\245) 189 160.99 T 1 10 Q (a component that is responsible for reading and writing W) 202.74 160.99 T (ombat \336les.) 434.96 160.99 T 54 305/G266381 FmPA 4 11 Q (\245) 189 144.99 T 1 10 Q (a W) 202.74 144.99 T (ombat class that encapsulates the W) 218.32 144.99 T (ombat data and is used by your other Beans) 361.66 144.99 T 54 289/G266387 FmPA (and components.) 202.74 132.66 T -0.05 (In addition, there has been demand by customers to be able to programmatically manip-) 189 108.66 P 54 253/G266297 FmPA -0.24 (ulate W) 189 96.66 P -0.24 (ombats, without necessarily using the visual vie) 219.34 96.66 P -0.24 (wer or editor Beans. Y) 409.05 96.66 P -0.24 (ou\325) 497.8 96.66 P -0.24 (ll need) 511.04 96.66 P 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.16/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "16" 16 %%Page: "17" 17 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Frame) 207 739.85 T (w) 233.87 739.85 T (ork Integration P) 240.7 739.85 T (oints) 311.85 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (17) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 1 F (to create a DataContentHandler that can con) 207 680.66 T (v) 383.77 680.66 T (ert a byte stream to and from a W) 388.62 680.66 T (ombat) 522.23 680.66 T -0 (object. When reading, the W) 207 668.66 P -0 (ombatDataContentHandler reads a byte stream and returns) 321.15 668.66 P -0.03 (a ne) 207 656.66 P -0.03 (w W) 223.1 656.66 P -0.03 (ombat object. When writing, the W) 241.43 656.66 P -0.03 (ombatDataContentHandler tak) 381.84 656.66 P -0.03 (es a W) 504.18 656.66 P -0.03 (ombat) 530.53 656.66 P (object and produces a corresponding byte stream. Y) 207 644.66 T (ou\325) 413.63 644.66 T (ll need to publish the API to the) 426.86 644.66 T (W) 207 632.66 T (ombat class.) 215.64 632.66 T -0.18 (The W) 207 608.66 P -0.18 (ombatDataContentHandler is deli) 233.51 608.66 P -0.18 (v) 367.33 608.66 P -0.18 (ered as a class and is designated as a DataCon-) 372.18 608.66 P 72 753/G266298 FmPA (tentHandler that can operate on W) 207 596.66 T (ombats in the mailcap \336le included in J) 343.66 596.66 T (AR \336le.) 500 596.66 T (Y) 207 572.66 T (our mailcap \336le will change to list the appropriate W) 213.12 572.66 T (ombat Beans as the implementa-) 423.68 572.66 T 72 717/G266299 FmPA (tions for the user commands:) 207 560.66 T 6 9 Q (application/x-wombat; ; x-java-View=com.foo.WombatViewBean; \134) 216 543.33 T 72 687/G266300 FmPA ( x-java-Edit=com.foo.WombatEditBean; \134) 216 532.33 T (x-java-Print=com.foo.WombatPrintBean; \134) 270 521.33 T 72 665/G266388 FmPA -0.36 ( x-java-ContentHandler=com.foo.WombatDataContentHandler) 216 510.33 P 72 654/G266650 FmPA 1 10 Q -0.19 (Y) 207 486.66 P -0.19 (our W) 213.12 486.66 P -0.19 (ombat Beans could continue to implement the Externalizable interf) 237.4 486.66 P -0.19 (ace, and thus) 504.12 486.66 P 72 631/G266302 FmPA (read and write W) 207 474.66 T (ombat byte streams, b) 275.34 474.66 T (ut more lik) 362.91 474.66 T (ely the) 406.7 474.66 T (y will simply operate on) 433.49 474.66 T -0.4 (W) 207 462.66 P -0.4 (ombat objects directly) 215.64 462.66 P -0.4 (. T) 303.06 462.66 P -0.4 (o \336nd the W) 312.97 462.66 P -0.4 (ombat object the) 360.67 462.66 P -0.4 (y\325) 426.38 462.66 P -0.4 (re being in) 434.21 462.66 P -0.4 (v) 475.77 462.66 P -0.4 (ok) 480.57 462.66 P -0.4 (ed to operate on,) 490.47 462.66 P (the) 207 450.66 T (y will implement the CommandObject interf) 219.07 450.66 T (ace; the) 397.02 450.66 T (setCommandConte) 430.34 450.66 T (xt m) 506.86 450.66 T (ethod) 524.92 450.66 T (will refer them to the corresponding DataHandler) 207 438.66 T (, from which the) 404.33 438.66 T (y can in) 470.28 438.66 T (v) 501.54 438.66 T (ok) 506.34 438.66 T (e the get-) 516.24 438.66 T -0.21 (Content method, which will return a W) 207 426.66 P -0.21 (ombat object \050produced by the W) 361.85 426.66 P -0.21 (ombatDataCon-) 494.12 426.66 P (tentHandler\051.) 207 414.66 T (As before, all components are packaged in a J) 207 390.66 T (AR \336le.) 389.96 390.66 T 72 535/G266303 FmPA 0 F (8.3) 184.1 360.66 T ( Vie) 207 360.66 T (wer onl) 224.64 360.66 T (y) 259.5 360.66 T 72 505/G266304 FmPA 1 F (The W) 207 336.66 T (ombat product has been wildly successful. The V) 233.69 336.66 T (ie) 430.28 336.66 T (wAll Compan) 437.25 336.66 T (y has decided) 493.49 336.66 T 72 481/G266305 FmPA (that it can produce a W) 207 324.66 T (ombat vie) 299.23 324.66 T (wer that\325) 338.7 324.66 T (s much f) 373.97 324.66 T (aster than the W) 408.31 324.66 T (ombatV) 472.77 324.66 T (ie) 504.39 324.66 T (wer Bean.) 511.36 324.66 T (Since the) 207 312.66 T (y don\325) 243.79 312.66 T (t w) 269.44 312.66 T (ant to depend on the presence of an) 281.84 312.66 T (y W) 423.04 312.66 T (ombat components, their) 439.18 312.66 T (vie) 207 300.66 T (wer must parse the W) 218.97 300.66 T (ombat \336le format, which the) 305.37 300.66 T (y re) 418.82 300.66 T (v) 433.84 300.66 T (erse engineered.) 438.69 300.66 T (The V) 207 276.66 T (ie) 231.67 276.66 T (wAll W) 238.64 276.66 T (ombatV) 269.78 276.66 T (ie) 301.4 276.66 T (werBean implements the Externalizable interf) 308.37 276.66 T (ace to read the) 492.12 276.66 T 72 421/G266306 FmPA (W) 207 264.66 T (ombat data format.) 215.64 264.66 T (V) 207 240.66 T (ie) 213.62 240.66 T (wAll deli) 220.59 240.66 T (v) 257.84 240.66 T (ers an appropriate mailcap \336le:) 262.69 240.66 T 72 385/G266307 FmPA 6 9 Q (application/x-wombat; ; x-java-View=com.viewall.WombatViewer) 216 223.33 T 72 367/G266308 FmPA 1 10 Q (and mime.types \336le:) 207 199.66 T 72 344/G266309 FmPA 6 9 Q (type=application/x-wombat desc=\323Wombat\323 exts=wom) 216 182.33 T 72 326/G266310 FmPA 1 10 Q (All components are packaged in a J) 207 158.66 T (AR \336le.) 348.59 158.66 T 72 303/G266311 FmPA 0 F (8.4) 184.1 128.66 T ( Content Handler Onl) 207 128.66 T (y) 306.86 128.66 T 72 273/G266312 FmPA 1 F -0.06 (No) 207 104.66 P -0.06 (w that e) 218.97 104.66 P -0.06 (v) 250.26 104.66 P -0.06 (eryone is using W) 255.12 104.66 P -0.06 (ombats, you\325) 326.63 104.66 P -0.06 (v) 378.3 104.66 P -0.06 (e decided that it w) 383.14 104.66 P -0.06 (ould be nice if you could) 456.14 104.66 P 72 249/G266313 FmPA (notify people by email when ne) 207 92.66 T (w W) 333.12 92.66 T (ombats are created. Y) 351.48 92.66 T (ou\325) 437.57 92.66 T (v) 450.4 92.66 T (e designed a ne) 455.25 92.66 T (w) 516.37 92.66 T 52 447.33 54 457.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.17/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "17" 17 %%Page: "18" 18 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Frame) 189 739.85 T (w) 215.87 739.85 T (ork Deliverab) 222.7 739.85 T (les) 279.63 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (18) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 1 10 Q -0.26 (W) 189 680.66 P -0.26 (ombatNoti\336cation class and a corresponding data format to be sent by email using the) 197.64 680.66 P (MIME type \322application/x-w) 189 668.66 T (ombat-noti\336cation\323. Y) 305.55 668.66 T (our serv) 395 668.66 T (er will detect the presence) 427.34 668.66 T (of ne) 189 656.66 T (w W) 209.02 656.66 T (ombats, construct a W) 227.38 656.66 T (ombatNoti\336cation object, and construct and send an) 316.01 656.66 T -0.24 (email message with the W) 189 644.66 P -0.24 (ombat noti\336cation data as an attachment. Y) 292.77 644.66 P -0.24 (our customers will) 463.79 644.66 P (run a program that scans their email INBO) 189 632.66 T (X for messages with W) 359.4 632.66 T (ombat noti\336cation) 452.47 632.66 T (attachments and use the W) 189 620.66 T (ombatNoti\336cation class to notify the user of the ne) 295.4 620.66 T (w) 497.91 620.66 T (W) 189 608.66 T (ombats.) 197.64 608.66 T (In addition to the serv) 189 584.66 T (er application and user application described, you\325) 276.62 584.66 T (ll need a Data-) 478.42 584.66 T 54 729/G266314 FmPA (ContentHandler to plug into the DataHandler infrastructure and construct the W) 189 572.66 T (ombat-) 508.14 572.66 T (Noti\336cation objects. The W) 189 560.66 T (ombatNoti\336cation DataContentHandler is deli) 299.3 560.66 T (v) 483.76 560.66 T (ered as a) 488.61 560.66 T -0.42 (class named W) 189 548.66 P -0.42 (ombatNoti\336cationDataContentHandler and is deli) 247.89 548.66 P -0.42 (v) 445.52 548.66 P -0.42 (ered in a J) 450.37 548.66 P -0.42 (AR \336le with) 489.32 548.66 P (the follo) 189 536.66 T (wing mailcap \336le:) 222.36 536.66 T 6 9 Q (application/x-wombat-notification; \134) 198 519.33 T 54 663/G266660 FmPA ( WombatNotificationDataContentHandler) 198 508.33 T 54 652/G266661 FmPA 1 10 Q -0.37 (The serv) 189 484.66 P -0.37 (er application will create DataHandlers for its W) 223.19 484.66 P -0.37 (ombatNoti\336cation objects. The) 414.45 484.66 P 54 629/G266315 FmPA (DataHandler will be used by the email system to fetch a byte stream corresponding to) 189 472.66 T (the W) 189 460.66 T (ombatNoti\336cation object. \050The DataHandler will use the DataContentHandler to) 212.36 460.66 T (do this.\051) 189 448.66 T (The client application will get a DataHandler for the email attachment and will use the) 189 424.66 T 54 569/G266316 FmPA (getContent method to get the corresponding W) 189 412.66 T (ombatNoti\336cation object, which will) 375.96 412.66 T (then be used to notify the user) 189 400.66 T (.) 308.99 400.66 T 54 527/G266064 FmPA 54 339.33 540 342.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 341.48 540 341.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 341.48 180 341.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (9.0) 163.32 346.33 T (Frame) 192.34 346.33 T (w) 228.17 346.33 T (ork D) 237.26 346.33 T (eliverab) 267.94 346.33 T (les) 313.18 346.33 T 54 490/G264922 FmPA 0 10 Q (9.1) 166.1 312.66 T (P) 189 312.66 T (ac) 195.37 312.66 T (ka) 206.29 312.66 T (ging Details) 217.31 312.66 T 54 457/G266515 FmPA 1 F -0.15 (The desire to ha) 189 296.66 P -0.15 (v) 252.51 296.66 P -0.15 (e this functionality a) 257.36 296.66 P -0.15 (v) 338.67 296.66 P -0.15 (ailable on JDK 1.1 has caused us to implement it) 343.42 296.66 P 54 441/G266516 FmPA -0.33 (as a Standard Extension. This will allo) 189 284.66 P -0.33 (w it to be deli) 340.92 284.66 P -0.33 (v) 394.34 284.66 P -0.33 (ered asynchronously from the JDK) 399.19 284.66 P -0.29 (and to be included in ne) 189 272.66 P -0.29 (w softw) 283.12 272.66 P -0.29 (are products in a more timely f) 314.67 272.66 P -0.29 (ashion. The follo) 436.15 272.66 P -0.29 (wing are) 503.37 272.66 P (some more details about the package:) 189 260.66 T 4 11 Q (\245) 189 241.99 T 1 10 Q (The package name will be) 202.74 241.99 T 6 9 Q (javax.activation.) 309.96 241.99 T 54 386/G266521 FmPA 4 11 Q (\245) 189 225.99 T 1 10 Q (The initial release will be supported on JDK 1.1.x \050e) 202.74 225.99 T (xact re) 412.28 225.99 T (vision TBD\051 and later) 438.96 225.99 T 54 370/G266525 FmPA (v) 202.74 213.66 T (ersions of the JDK.) 207.6 213.66 T 0 F (9.2) 166.1 183.66 T (Frame) 189 183.66 T (w) 218.86 183.66 T (ork Core Classes) 226.44 183.66 T 54 328/G264923 FmPA -0.4 (interface DataSour) 189 159.66 P -0.4 (ce:) 277.31 159.66 P 1 F -0.36 ( An interf) 291.76 159.66 P -0.36 (ace class that describes a data source which pro) 329.83 159.66 P -0.36 (vides) 516.75 159.66 P 54 304/G264924 FmPA (a MIME type and an input stream.) 189 147.66 T 0 F (c) 189 123.66 T (lass DataHandler:) 194.36 123.66 T 1 F ( A class that acts as a handle for the data source and uses the) 278.83 123.66 T 54 268/G264925 FmPA (e) 189 111.66 T (xisting ContentHandler mechanism and a ne) 193.29 111.66 T (w similar mechanism to implement T) 370.52 111.66 T (rans-) 519.89 111.66 T 34 342.33 36 354.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.18/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "18" 18 %%Page: "19" 19 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Frame) 207 739.85 T (w) 233.87 739.85 T (ork Deliverab) 240.7 739.85 T (les) 297.63 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (19) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 1 F (ferable. Additionally it pro) 207 680.66 T (vides access to the re) 314.06 680.66 T (gistry infrastructure that \324disco) 398.33 680.66 T (v) 521.77 680.66 T (ers\325) 526.62 680.66 T (a) 207 668.66 T (v) 211.24 668.66 T (ailable beans.) 215.99 668.66 T 0 F (interface DataContentHandler:) 207 644.66 T 1 F ( An interf) 351.46 644.66 T (ace similar semantically to the Con-) 390.24 644.66 T 72 789/G264926 FmPA (tentHandler interf) 207 632.66 T (ace that uses DataFla) 278.27 632.66 T (v) 362.77 632.66 T (ors and InputStream instead of URLConnec-) 367.57 632.66 T (tions.) 207 620.66 T 0 F (interface DataContentHandlerF) 207 596.66 T (actor) 354.04 596.66 T (y:) 378.59 596.66 T 1 F ( A f) 387.48 596.66 T (actory interf) 402.93 596.66 T (ace that can be used to) 451.98 596.66 T 72 741/G267045 FmPA (implement f) 207 584.66 T (actories that can be installed into DataHandler) 255.51 584.66 T (.) 439.92 584.66 T 0 F (c) 207 560.66 T (lass CommandMap:) 212.36 560.66 T 1 F ( An abstract class that describes the re) 306.82 560.66 T (gistry) 459.13 560.66 T (.) 481.26 560.66 T 72 705/G264927 FmPA 0 F (interface CommandObject:) 207 536.66 T 1 F ( An interf) 334.8 536.66 T (ace that can be implemented by beans that) 373.58 536.66 T 72 681/G264928 FmPA (wish to access DataHandlers and) 207 524.66 T (the v) 341.13 524.66 T (erbs that in) 360.7 524.66 T (v) 404.74 524.66 T (ok) 409.54 524.66 T (ed them d) 419.44 524.66 T (irectly) 458.88 524.66 T (.) 483.78 524.66 T 0 F -0.11 (c) 207 500.66 P -0.11 (lass CommandInf) 212.36 500.66 P -0.11 (o:) 295.4 500.66 P 1 F -0.1 ( A class that is used by CommandMaps to represent Ja) 304.84 500.66 P -0.1 (v) 521.97 500.66 P -0.1 (aBeans) 526.72 500.66 P 72 645/G267696 FmPA (returned from command requests.) 207 488.66 T 0 F (9.3) 184.1 458.66 T (Frame) 207 458.66 T (w) 236.86 458.66 T (ork A) 244.44 458.66 T (uxiliar) 269.7 458.66 T (y Classes) 299.26 458.66 T 72 603/G264929 FmPA (c) 207 434.66 T (lass FileDataSour) 212.36 434.66 T (ce:) 296.08 434.66 T 1 F ( A simple) 310.53 434.66 T (i) 351.92 434.66 T (mplementation of a DataSource object that repre-) 354.7 434.66 T 72 579/G267710 FmPA (sents a \336le. This class will use) 207 422.66 T ( the FileT) 327.83 422.66 T (ypeMap mechanism t) 365.92 422.66 T (o map \336le) 452.02 422.66 T (s t) 492.02 422.66 T (o) 501.19 422.66 T ( a) 506.19 422.66 T ( MIME) 513.13 422.66 T (type or possibly a .mime.types \336le. \050see appendix A\051) 207 410.66 T 0 F -0.22 (c) 207 386.66 P -0.22 (lass FileT) 212.36 386.66 P -0.22 (ypeMap:) 257.12 386.66 P 1 F -0.2 ( An abstract class used by the FileDataSource to map \336les to con-) 297.68 386.66 P 72 531/G267713 FmPA (tent types.) 207 374.66 T 0 F (c) 207 350.66 T (lass MimetypesFileT) 212.36 350.66 T (ypeMap:) 309.02 350.66 T 1 F ( An implementation of FileT) 349.58 350.66 T (ypeMap that uses) 463.78 350.66 T 72 495/G267714 FmPA (.mime.types \336les to map \336les to content types.) 207 338.66 T 0 F (c) 207 314.66 T (lass URLDataSour) 212.36 314.66 T (ce:) 299.4 314.66 T 1 F (A simple implementation of a DataSource object that repre-) 316.63 314.66 T 72 459/G267711 FmPA (sents the data pointed to by a URL.) 207 302.66 T 0 F -0.26 (c) 207 278.66 P -0.26 (lass MailcapCommandMap:) 212.36 278.66 P 1 F -0.24 ( A simple sample command map implementation that) 343.24 278.66 P 72 423/G267712 FmPA (uses a properties \336le that is a semantic e) 207 266.66 T (xtension to RFC 1524 \050mailcap \336les\051 to map) 367.38 266.66 T (MIME types to beans. \050see appendix A\051) 207 254.66 T 0 F (c) 207 230.66 T (lass Activ) 212.36 230.66 T (ationDataFla) 258.85 230.66 T (v) 318.71 230.66 T (or:) 323.97 230.66 T 1 F ( Subclassed from) 337.3 230.66 T 6 9 Q (java.awt.datatrans-) 408.68 230.66 T 72 375/G267048 FmPA (fer.DataFlavor,) 207 218.66 T 1 10 Q (this implementation of DataFla) 293.4 218.66 T (v) 417.92 218.66 T (or pro) 422.72 218.66 T (vides support for arbitrary) 446.73 218.66 T (representation classes, and includes more rob) 207 206.66 T (ust MIME type matching.) 387.87 206.66 T 0 F (c) 207 182.66 T (lass MimeT) 212.36 182.66 T (ype:) 265.67 182.66 T 1 F ( This class pro) 286.23 182.66 T (vides RFC 2046 MIME T) 344.13 182.66 T (ype parsing.) 446.67 182.66 T 72 327/G267049 FmPA 0 F -0.37 (c) 207 158.66 P -0.37 (lass com.sun.activ) 212.36 158.66 P -0.37 (ation.vie) 300.72 158.66 P -0.37 (wer) 341.14 158.66 P -0.37 (s.*:) 358.22 158.66 P 1 F -0.33 ( A fe) 373.78 158.66 P -0.33 (w simple e) 392.86 158.66 P -0.33 (xample vie) 435.37 158.66 P -0.33 (wer beans \050) 478.95 158.66 P -0.33 (t) 524.37 158.66 P -0.33 (e) 527.15 158.66 P -0.33 (xt and) 531.44 158.66 P 72 303/G264932 FmPA (image\051) 207 146.66 T (.) 234.77 146.66 T 0 F (c) 207 122.66 T (lass com.sun.activ) 212.36 122.66 T (ation.DataContentHandler) 301.09 122.66 T (s.*:) 424.28 122.66 T 1 F ( some def) 439.84 122.66 T (ault data content) 478.62 122.66 T 72 267/G267723 FmPA (handlers) 207 110.66 T (.) 240.88 110.66 T 52 485.33 54 531.33 R V 52 419.33 54 441.33 R V 52 299.33 54 393.33 R V 52 107.33 54 165.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.19/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "19" 19 %%Page: "20" 20 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Appendix A: Class de\336nitions f) 189 739.85 T (or default pac) 321.84 739.85 T (ka) 380.67 739.85 T (g) 390.59 739.85 T (e implementations:) 396.18 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (20) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 0 12 Q (10.0) 156.65 679.33 T (Appendix A: Class de\336nitions f) 189 679.33 T (or default pac) 366.12 679.33 T (ka) 444.56 679.33 T (g) 457.79 679.33 T (e) 465.24 679.33 T 54 823/G267728 FmPA 54 658.33 540 661.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 660.48 540 660.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 660.48 180 660.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (implementations:) 189 665.33 T 0 10 Q (10.1) 160.54 631.66 T (FileDataSour) 189 631.66 T (ce) 250.48 631.66 T 54 776/G264946 FmPA 6 9 Q (public class FileDataSource implements DataSource {) 198 616.33 T 54 760/G264947 FmPA ( // start with a File) 198 605.33 T 54 749/G265480 FmPA ( public FileDataSource\050File file\051;) 198 594.33 T 54 738/G265589 FmPA ( // start with a path) 198 583.33 T 54 727/G265594 FmPA ( public FileDataSource\050String path\051;) 198 572.33 T 54 716/G265482 FmPA 54 705/G266689 FmPA ( // return the \324name\325 of this object) 198 550.33 T 54 694/G266686 FmPA ( public String getName\050\051) 198 539.33 T (;) 333 539.33 T 54 683/G266683 FmPA ( // return the content type) 198 528.33 T 54 672/G267733 FmPA ( public String getContentType\050\051;) 198 517.33 T 54 661/G267734 FmPA ( // get the InputStream) 198 506.33 T 54 650/G267735 FmPA ( public InputStream getInputStream\050\051;) 198 495.33 T 54 639/G267736 FmPA ( // get the OutputStream) 198 484.33 T 54 628/G267737 FmPA ( public OutputStream getOutputStream\050\051;) 198 473.33 T 54 617/G267738 FmPA 54 606/G267739 FmPA ( // set the FileTypeMap) 198 451.33 T 54 595/G267749 FmPA ( public void setFileTypeMap\050FileTypeMap\051;) 198 440.33 T 54 584/G267750 FmPA (}) 198 429.33 T 54 573/G267748 FmPA 0 10 Q (10.2) 160.54 399.66 T (FileT) 189 399.66 T (ypeMap) 211.74 399.66 T 54 544/G267751 FmPA 6 9 Q (public abstract class FileTypeMap {) 198 384.33 T 54 528/G267752 FmPA ( // Return the type of the file object.) 198 373.33 T 54 517/G267764 FmPA ( public String getContentType\050File\051;) 198 362.33 T 54 506/G267754 FmPA ( // Return the type of the file) 198 351.33 T 54 495/G267772 FmPA ( public String getContentType\050String\051;) 198 340.33 T 54 484/G267756 FmPA ( // Return the default FileTypeMap for the system.) 198 329.33 T 54 473/G267784 FmPA ( public FileTypeMap getDefaultFileTypeMap\050\051;) 198 318.33 T 54 462/G267758 FmPA ( // Sets the default FileTypeMap for the system.) 198 307.33 T 54 451/G267791 FmPA ( public void setDefaultFileTypeMap\050FileTypeMap\051;) 198 296.33 T 54 440/G267760 FmPA (}) 198 285.33 T 54 429/G267747 FmPA 0 10 Q (10.3) 160.54 255.66 T (MimetypeFileT) 189 255.66 T (ypeMap) 257.86 255.66 T 54 400/G267798 FmPA 6 9 Q (public abstract class MimetypesFileTypeMap {) 198 240.33 T 54 384/G267801 FmPA ( // The default constructor, reads in the default mimetype) 198 229.33 T 54 373/G267816 FmPA ( // mappings included with the JAF.) 198 218.33 T 54 362/G267808 FmPA ( public MimetypesFileTypeMap\050\051;) 198 207.33 T 54 351/G267827 FmPA ( // Constructor that allows one to specify a mimetypes) 198 196.33 T 54 340/G267831 FmPA ( // file as an InputStream to append to the registry.) 198 185.33 T 54 329/G267833 FmPA ( public MimetypesFileTypeMap\050InputStream\051;) 198 174.33 T 54 318/G267810 FmPA ( // Constructor that allows one to specify a mimetypes) 198 163.33 T 54 307/G267838 FmPA ( // file as an InputStream to append to the registry.) 198 152.33 T 54 296/G267839 FmPA ( public MimetypesFileTypeMap\050String\051;) 198 141.33 T 54 285/G267806 FmPA ( // Return the type of the file object.) 198 130.33 T 54 274/G267802 FmPA ( public String getContentType\050File\051;) 198 119.33 T 54 263/G267803 FmPA ( // Return the type of the file) 198 108.33 T 54 252/G267804 FmPA ( public String getContentType\050String\051;) 198 97.33 T 54 241/G267805 FmPA 34 94.33 36 545.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.20/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "20" 20 %%Page: "21" 21 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Appendix A: Class de\336nitions f) 207 739.85 T (or default pac) 339.84 739.85 T (ka) 398.67 739.85 T (g) 408.59 739.85 T (e implementations:) 414.18 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (21) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 72 825/G267799 FmPA 6 9 Q ( // prepends mimetype entries to the registry) 216 663.33 T 72 807/G267744 FmPA ( public void addMimeTypes\050String\051;) 216 652.33 T 72 796/G267745 FmPA (}) 216 641.33 T 72 785/G265497 FmPA 0 10 Q (10.4) 178.54 611.66 T (MailcapCommandMap) 207 611.66 T 72 756/G264949 FmPA 6 9 Q (public class MailcapCommandMap extends CommandMap {) 216 596.33 T 72 740/G264950 FmPA ( // Default Constructor) 216 585.33 T 72 729/G265503 FmPA ( public MailcapCommandMap\050\051;) 216 574.33 T 72 718/G266708 FmPA ( // Provide a path to a mailcap file) 216 563.33 T 72 707/G265507 FmPA ( public MailcapCommandMap\050String mailcap\051;) 216 552.33 T 72 696/G265509 FmPA 72 685/G265510 FmPA (// adds mailcap entries to the command map) 226.8 530.33 T 72 674/G265981 FmPA (public void addMailCap\050String\051;) 226.8 519.33 T 72 663/G265983 FmPA 72 652/G265882 FmPA (// get all know commands for this MIME type) 226.8 497.33 T 72 641/G266713 FmPA (public) 226.8 486.33 T (CommandI) 264.6 486.33 T (nfo[] getAllCommands\050String mimeType\051;) 307.8 486.33 T 72 630/G265890 FmPA 72 619/G266725 FmPA (// get command) 226.8 464.33 T 72 608/G266726 FmPA (public) 226.8 453.33 T (CommandI) 264.6 453.33 T (nfo getCommand\050String mimeType,) 307.8 453.33 T 72 597/G266727 FmPA ( S) 216 442.33 T (tring cmdName\051;) 394.2 442.33 T 72 586/G267857 FmPA 72 575/G265896 FmPA ( // get the preferred set of commands for MIME type) 216 420.33 T 72 564/G266722 FmPA ( public) 216 409.33 T (CommandI) 259.2 409.33 T (nfo[] getPreferredCommands\050String mimeType\051;) 302.4 409.33 T 72 553/G266721 FmPA (}) 216 398.33 T 72 542/G265662 FmPA 0 10 Q (10.5) 178.54 368.66 T (Activ) 207 368.66 T (ationDataFla) 231.25 368.66 T (v) 291.11 368.66 T (or) 296.37 368.66 T 72 513/G267064 FmPA 72 497/G267065 FmPA 6 9 Q (public class ActivationDataFlavor extends) 216 342.33 T 72 486/G267067 FmPA ( java.awt.datatransfer.DataFlavor {) 216 331.33 T 72 475/G267275 FmPA ( // constructor to construct this DataFlavor with an) 216 320.33 T 72 464/G267297 FmPA ( // arbitrary representation class) 216 309.33 T 72 453/G267298 FmPA ( public ActivationDataFlavor\050Class representationClass,) 216 298.33 T 72 442/G267068 FmPA ( String mimeType,) 216 287.33 T 72 431/G267069 FmPA ( String humanPresentableName\051;) 216 276.33 T 72 420/G267070 FmPA ( // same as super class) 216 265.33 T 72 409/G267082 FmPA ( public ActivationDataFlavor\050Class representationClass,) 216 254.33 T 72 398/G267113 FmPA ( String humanPresentableName\051;) 216 243.33 T 72 387/G267114 FmPA 72 376/G267115 FmPA (// same as super class) 216 221.33 T 72 365/G267301 FmPA ( public ActivationDataFlavor\050String mimeType,) 216 210.33 T 72 354/G267116 FmPA ( String humanPresentableName\051;) 216 199.33 T 72 343/G267117 FmPA 72 332/G267118 FmPA (// same as super class) 216 177.33 T 72 321/G267304 FmPA ( public String getMimeType\050\051;) 216 166.33 T 72 310/G267121 FmPA 72 299/G267127 FmPA ( // same as super class) 216 144.33 T 72 288/G267129 FmPA ( public Class getRepresentationClass\050\051;) 216 133.33 T 72 277/G267305 FmPA 72 266/G267130 FmPA ( // same as super class) 216 111.33 T 72 255/G267308 FmPA ( public void setHumanPresentableName\050) 216 100.33 T 72 244/G267137 FmPA 52 638.33 54 687.33 R V 52 516.33 54 536.33 R V 52 483.33 54 503.33 R V 52 439.33 54 470.33 R V 52 406.33 54 415.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.21/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "21" 21 %%Page: "22" 22 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 750.68 540 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Document Chang) 189 739.85 T (e Histor) 263.59 739.85 T (y) 297.19 739.85 T 54 884/G30230 FmPA 54 726.98 540 726.98 2 L 0.25 H N 54 75.33 540 75.33 2 L 2 Z N 0 10 Q (22) 54 60.29 T 0 9 Q ( of) 65.12 60.29 T 0 10 Q ( 23) 76.12 60.29 T 0 9 Q (Ja) 189 60.29 T (v) 198.87 60.29 T (aBeans Activ) 203.7 60.29 T (ation Frame) 260.04 60.29 T (w) 310.91 60.29 T (ork Speci\336cation Draft 5) 317.74 60.29 T 54 204/G30232 FmPA 6 F ( String humanPresentableName\051;) 198 681.33 T 54 825/G267293 FmPA 54 814/G267143 FmPA ( // Uses MimeType class to implement more robust parsing) 198 659.33 T 54 803/G267311 FmPA ( public boolean equals\050DataFlavor dataFlavor\051;) 198 648.33 T 54 792/G267145 FmPA 54 781/G267146 FmPA ( // Uses MimeType class to implement more robust parsing) 198 626.33 T 54 770/G267316 FmPA ( public boolean isMimeTypeEqual\050String mimeType\051;) 198 615.33 T 54 759/G267153 FmPA 54 748/G267159 FmPA ( // same as super class) 198 593.33 T 54 737/G267317 FmPA ( protected String normalizeMimeTypeParameter\050) 198 582.33 T 54 726/G267161 FmPA ( String parameterName,) 198 571.33 T 54 715/G267294 FmPA ( String parameterValue\051;) 198 560.33 T 54 704/G267162 FmPA 54 693/G267167 FmPA ( // same as super class) 198 538.33 T 54 682/G267318 FmPA ( protected String normalizeMimeType\050String mimeType\051;) 198 527.33 T 54 671/G267171 FmPA (}) 198 516.33 T 54 660/G267173 FmPA 54 649/G267174 FmPA 54 638/G267074 FmPA 54 451.33 540 454.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 189 453.48 540 453.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 54 453.48 180 453.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (11.0) 156.65 458.33 T (Document Chang) 189 458.33 T (e Histor) 288.46 458.33 T (y) 333.25 458.33 T 54 602/G266916 FmPA 1 10 Q (May 13,1997) 189 434.66 T (:) 243 434.66 T (Initial Public Draft 1) 252 434.66 T 54 579/G266917 FmPA (Aug 1, 1997:) 189 410.66 T (Internal Re) 252 410.66 T (vie) 296.46 410.66 T (w Draft 2) 308.43 410.66 T 54 555/G266919 FmPA 4 11 Q (\245) 216 391.99 T 1 10 Q (Added) 225 391.99 T 2 F (Inte) 254.16 391.99 T (gr) 269.31 391.99 T (ation P) 278.05 391.99 T (oints) 306.42 391.99 T 1 F ( section) 325.87 391.99 T 54 536/G266923 FmPA 4 11 Q (\245) 216 375.99 T 1 10 Q (Minor API changes) 225 375.99 T 54 520/G266924 FmPA 54 508/G266941 FmPA (Sept 16 1997:) 189 345.66 T (Second Public Draft 3) 252 345.66 T 54 490/G266926 FmPA 4 11 Q (\245) 216 326.99 T 1 10 Q (Edited document to re\337ect change to Standard Extension) 225 326.99 T 54 471/G266936 FmPA 4 11 Q (\245) 216 310.99 T 1 10 Q (Remo) 225 310.99 T (v) 248.74 310.99 T (ed URL/URLConnection section) 253.59 310.99 T 54 455/G266937 FmPA 4 11 Q (\245) 216 294.99 T 1 10 Q (Minor API changes) 225 294.99 T 54 439/G266938 FmPA (Oct 28 1997: Third Public Draft 4) 189 270.66 T 54 415/G266944 FmPA 4 11 Q (\245) 216 251.99 T 1 10 Q (Minor API changes) 225 251.99 T 54 396/G267334 FmPA 4 11 Q (\245) 216 235.99 T 1 10 Q (Add additional class descriptions) 225 235.99 T 54 380/G267336 FmPA 4 11 Q (\245) 216 219.99 T 1 10 Q (Fix) 225 219.99 T (ed minor errata) 238.19 219.99 T 54 364/G267337 FmPA (Dec 9, 1997: F) 189 195.66 T (orth Public Draft 5) 248.29 195.66 T 54 340/G267887 FmPA 4 11 Q (\245) 216 176.99 T 1 10 Q (Minor API changes) 225 176.99 T 54 321/G267890 FmPA 4 11 Q (\245) 216 160.99 T 1 10 Q (Add additional class descriptions) 225 160.99 T 54 305/G267891 FmPA 4 11 Q (\245) 216 144.99 T 1 10 Q (Fix) 225 144.99 T (ed minor errata) 238.19 144.99 T 54 289/G267892 FmPA 4 11 Q (\245) 216 128.99 T 1 10 Q (Includes) 225 128.99 T 3 F (Fr) 261.38 128.99 T (ozen) 271.75 128.99 T 1 F ( API) 291.19 128.99 T 54 273/G267893 FmPA 4 11 Q (\245) 189 112.99 T 3 10 Q (N) 202.74 112.99 T (ote:) 209.96 112.99 T 1 F ( Change bars re\337ect dif) 226.07 112.99 T (ferences from the) 319.12 112.99 T (October 28 d) 391.59 112.99 T (raft.) 443.8 112.99 T 54 257/G267888 FmPA 34 109.33 36 202.33 R V 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.22/DEST FmPD2 [/Title(A)/Rect[45 80 549 696]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "22" 22 %%Page: "23" 23 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 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 72 750.68 558 750.68 2 L 2 H 0 Z 0 X 0 0 0 1 0 0 0 K N 0 9 Q (Contacting Us) 207 739.85 T 72 884/G30234 FmPA 72 726.98 558 726.98 2 L 0.25 H N 72 75.33 558 75.33 2 L 2 Z N (Ja) 207 60.29 T (v) 216.87 60.29 T (aBeans Activ) 221.7 60.29 T (ation Frame) 278.04 60.29 T (w) 328.91 60.29 T (ork Speci\336cation Draft 5) 335.74 60.29 T 0 10 Q (23) 522.26 60.29 T 0 9 Q ( of) 533.38 60.29 T 0 10 Q (23) 546.88 60.29 T 72 204/G30235 FmPA 72 672.33 558 675.33 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 207 674.48 558 674.48 2 L 0.25 H 2 Z 0 X 0 0 0 1 0 0 0 K N 72 674.48 198 674.48 2 L 0 Z N 0 0 612 792 C 0 12 Q 0 X 0 0 0 1 0 0 0 K (12.0) 174.65 679.33 T (Contacting Us) 207 679.33 T 72 823/G265009 FmPA 1 10 Q (Please send your questions and comments to:) 207 651.66 T 72 796/G265010 FmPA 6 F (activation-comments@icdev.eng.sun.com) 212 633.66 T 72 778/G265082 FmPA 72 754/G265546 FmPA 0 0 0 1 0 0 0 K [/CropBox[0 0 FmDC 612 792 FmDC FmBx]/PAGE FmPD [/Dest/P.23/DEST FmPD2 [/Title(A)/Rect[63 80 567 696]/ARTICLE FmPD2 [/Page 1/View[/XYZ null 207 837 FmDC exch pop null]/Title(ReportTitle - JavaBeans Activation Framework Specification Draft...)/Count 12/OUT FmPD [/Page 1/View[/XYZ null 207 576 FmDC exch pop null]/Title(Heading1 - 1.0 Overview)/OUT FmPD [/Page 1/View[/XYZ null 207 344 FmDC exch pop null]/Title(Heading1 - 2.0 Goals)/OUT FmPD [/Page 2/View[/XYZ null 189 747 FmDC exch pop null]/Title(Heading1 - 3.0 Architectural Overview)/Count -4/OUT FmPD [/Page 2/View[/XYZ null 189 472 FmDC exch pop null]/Title(Heading2 - 3.1 DataHandler)/OUT FmPD [/Page 2/View[/XYZ null 189 382 FmDC exch pop null]/Title(Heading2 - 3.2 DataSource)/OUT FmPD [/Page 3/View[/XYZ null 207 831 FmDC exch pop null]/Title(Heading2 - 3.3 CommandMap)/OUT FmPD [/Page 3/View[/XYZ null 207 597 FmDC exch pop null]/Title(Heading2 - 3.4 Command Object)/OUT FmPD [/Page 3/View[/XYZ null 207 514 FmDC exch pop null]/Title(Heading1 - 4.0 Using The Framework)/OUT FmPD [/Page 4/View[/XYZ null 189 831 FmDC exch pop null]/Title(Heading1 - 5.0 Usage Scenarios)/Count -5/OUT FmPD [/Page 4/View[/XYZ null 189 628 FmDC exch pop null]/Title(Heading2 - 5.1 Scenario Architecture)/OUT FmPD [/Page 4/View[/XYZ null 189 511 FmDC exch pop null]/Title(Heading2 - 5.2 Initialization)/OUT FmPD [/Page 4/View[/XYZ null 189 287 FmDC exch pop null]/Title(Heading2 - 5.3 Getting the Command List)/OUT FmPD [/Page 5/View[/XYZ null 207 603 FmDC exch pop null]/Title(Heading2 - 5.4 Performing a Command)/OUT FmPD [/Page 5/View[/XYZ null 207 357 FmDC exch pop null]/Title(Heading2 - 5.5 An Alternative Scenario)/OUT FmPD [/Page 6/View[/XYZ null 189 633 FmDC exch pop null]/Title(Heading1 - 6.0 Primary Framework Interfaces)/Count -7/OUT FmPD [/Page 6/View[/XYZ null 189 550 FmDC exch pop null]/Title(Heading2 - 6.1 DataSource)/OUT FmPD [/Page 7/View[/XYZ null 207 560 FmDC exch pop null]/Title(Heading2 - 6.2 DataHandler)/Count -2/OUT FmPD [/Page 7/View[/XYZ null 207 428 FmDC exch pop null]/Title(Heading3 - 6.2.1 Data Encapsulation)/OUT FmPD [/Page 7/View[/XYZ null 207 308 FmDC exch pop null]/Title(Heading3 - 6.2.2 Command Binding)/OUT FmPD [/Page 10/View[/XYZ null 189 318 FmDC exch pop null]/Title(Heading2 - 6.3 DataContentHandler)/OUT FmPD [/Page 11/View[/XYZ null 207 485 FmDC exch pop null]/Title(Heading2 - 6.4 CommandMap)/OUT FmPD [/Page 12/View[/XYZ null 189 494 FmDC exch pop null]/Title(Heading2 - 6.5 CommandInfo)/OUT FmPD [/Page 12/View[/XYZ null 189 308 FmDC exch pop null]/Title(Heading2 - 6.6 CommandObject)/OUT FmPD [/Page 13/View[/XYZ null 207 725 FmDC exch pop null]/Title(Heading2 - 6.7 DataContentHandlerFactory)/OUT FmPD [/Page 13/View[/XYZ null 207 555 FmDC exch pop null]/Title(Heading1 - 7.0 Writing Beans for the Framework)/Count -9/OUT FmPD [/Page 13/View[/XYZ null 207 520 FmDC exch pop null]/Title(Heading2 - 7.1 Overview)/OUT FmPD [/Page 13/View[/XYZ null 207 430 FmDC exch pop null]/Title(Heading2 - 7.2 Viewer Goals)/Count -2/OUT FmPD [/Page 13/View[/XYZ null 221 414 FmDC exch pop null]/Title(Numbered1 - 1. Make the implementation of viewers and editors ...)/OUT FmPD [/Page 13/View[/XYZ null 221 387 FmDC exch pop null]/Title(Numbered - 2. Allow developers to have a certain amount of fl...)/OUT FmPD [/Page 13/View[/XYZ null 207 357 FmDC exch pop null]/Title(Heading2 - 7.3 General)/OUT FmPD [/Page 14/View[/XYZ null 189 741 FmDC exch pop null]/Title(Heading2 - 7.4 Interfaces)/OUT FmPD [/Page 14/View[/XYZ null 189 651 FmDC exch pop null]/Title(Heading2 - 7.5 Storage)/OUT FmPD [/Page 14/View[/XYZ null 189 488 FmDC exch pop null]/Title(Heading2 - 7.6 Packaging)/OUT FmPD [/Page 14/View[/XYZ null 189 398 FmDC exch pop null]/Title(Heading2 - 7.7 Container Support)/OUT FmPD [/Page 14/View[/XYZ null 189 284 FmDC exch pop null]/Title(Heading2 - 7.8 Lifecycle)/OUT FmPD [/Page 15/View[/XYZ null 207 777 FmDC exch pop null]/Title(Heading2 - 7.9 Command Verbs)/OUT FmPD [/Page 15/View[/XYZ null 207 682 FmDC exch pop null]/Title(Heading1 - 8.0 Framework Integration Points)/Count -4/OUT FmPD [/Page 15/View[/XYZ null 207 448 FmDC exch pop null]/Title(Heading2 - 8.1 A Bean)/OUT FmPD [/Page 16/View[/XYZ null 189 462 FmDC exch pop null]/Title(Heading2 - 8.2 Beans)/OUT FmPD [/Page 17/View[/XYZ null 207 511 FmDC exch pop null]/Title(Heading2 - 8.3 Viewer only)/OUT FmPD [/Page 17/View[/XYZ null 207 279 FmDC exch pop null]/Title(Heading2 - 8.4 Content Handler Only)/OUT FmPD [/Page 18/View[/XYZ null 189 498 FmDC exch pop null]/Title(Heading1 - 9.0 Framework Deliverables)/Count -3/OUT FmPD [/Page 18/View[/XYZ null 189 463 FmDC exch pop null]/Title(Heading2 - 9.1 Packaging Details)/OUT FmPD [/Page 18/View[/XYZ null 189 334 FmDC exch pop null]/Title(Heading2 - 9.2 Framework Core Classes)/OUT FmPD [/Page 19/View[/XYZ null 207 609 FmDC exch pop null]/Title(Heading2 - 9.3 Framework Auxiliary Classes)/OUT FmPD [/Page 20/View[/XYZ null 189 831 FmDC exch pop null]/Title(Heading1 - 10.0 Appendix A: Class definitions for default pac...)/Count -5/OUT FmPD [/Page 20/View[/XYZ null 189 782 FmDC exch pop null]/Title(Heading2 - 10.1 FileDataSource)/OUT FmPD [/Page 20/View[/XYZ null 189 550 FmDC exch pop null]/Title(Heading2 - 10.2 FileTypeMap)/OUT FmPD [/Page 20/View[/XYZ null 189 406 FmDC exch pop null]/Title(Heading2 - 10.3 MimetypeFileTypeMap)/OUT FmPD [/Page 21/View[/XYZ null 207 762 FmDC exch pop null]/Title(Heading2 - 10.4 MailcapCommandMap)/OUT FmPD [/Page 21/View[/XYZ null 207 519 FmDC exch pop null]/Title(Heading2 - 10.5 ActivationDataFlavor)/OUT FmPD [/Page 22/View[/XYZ null 189 610 FmDC exch pop null]/Title(Heading1 - 11.0 Document Change History)/OUT FmPD [/Page 23/View[/XYZ null 207 831 FmDC exch pop null]/Title(Heading1 - 12.0 Contacting Us)/OUT FmPD FMENDPAGE %%EndPage: "23" 23 %%Trailer %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 23 %%DocumentFonts: Helvetica-Bold %%+ Times-Roman %%+ Times-Italic %%+ Times-Bold %%+ Courier-Bold %%+ Helvetica %%+ Courier %%EOF .