package Ġone . ir rad ia . mime . api Ċ Ċ /** Ċ Ġ* ĠFunctions Ġfor Ġdec iding Ġif ĠMIME Ġtypes Ġare Ġcompatible Ġwith Ġeach Ġother . Ċ Ġ*/ Ċ Ċ object ĠMIME Compatibility Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġutter ly Ġgeneric Ġ" stream Ġof Ġbytes " ĠMIME Ġtype . ĠTypically Ġconsidered Ġto Ġbe Ġcompatible ĊĠĠ Ġ* Ġwith Ġeverything . ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġapplication Oct et Stream Ġ= ĊĠĠĠ ĠMIME Type (" application ", Ġ" octet - stream ", Ġmap Of ()) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġtwo Ġtype Ġvalues Ġare Ġcompatible Ġiff Ġtheir Ġvalues Ġare Ġexactly Ġequal , Ġincluding Ġall ĊĠĠ Ġ* Ġattributes . ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġis Compatible Strict ( ĊĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠ Ġtype B : ĠMIME Type ĊĠ Ġ): ĠBoolean Ġ= ĊĠĠĠ Ġtype A Ġ== Ġtype B ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġtwo Ġtype Ġvalues Ġare Ġcompatible Ġiff Ġthe Ġtype Ġof Ġ[ type A ] Ġis Ġequal Ġto Ġthe Ġtype Ġof Ġ[ type B ], ĊĠĠ Ġ* Ġand Ġthe Ġsubtype Ġof Ġ[ type A ] Ġis Ġequal Ġto Ġthe Ġsub ty le Ġof Ġ[ type B ]. ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġis Compatible Strict Without Attributes ( ĊĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠ Ġtype B : ĠMIME Type ĊĠ Ġ): ĠBoolean Ġ= ĊĠĠĠ Ġtype A . type Ġ== Ġtype B . type Ġ&& Ġtype A . subtype Ġ== Ġtype B . subtype ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠIf Ġeither Ġ[ type A ] Ġor Ġ[ type B ] Ġare Ġ[ is Compatible Strict Without Attributes ] Ġcompatible Ġwith ĊĠĠ Ġ* Ġ[ application Oct et Stream ], Ġthen Ġ[ type A ] Ġand Ġ[ type B ] Ġare Ġcompatible . ĠOtherwise , ĊĠĠ Ġ* Ġ[ type A ] Ġand Ġ[ type B ] Ġare Ġcompatible Ġif Ġthey Ġare Ġcompatible Ġaccording Ġto ĊĠĠ Ġ* Ġ[ is Compatible Strict Without Attributes ]. ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġis Compatible L ax ( ĊĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠ Ġtype B : ĠMIME Type ĊĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( this . is Compatible Strict Without Attributes ( type A , Ġthis . application Oct et Stream )) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( this . is Compatible Strict Without Attributes ( type B , Ġthis . application Oct et Stream )) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis . is Compatible Strict Without Attributes ( type A , Ġtype B ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġ[ is Compatible Strict ] Ġfunction Ġas Ġa Ġcompatibility Ġdecision . ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġstrict : ĠMIME Compatibility Type Ġ= ĊĠĠĠ Ġobject Ġ: ĠMIME Compatibility Type Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġis Compatible With ( ĊĠĠĠĠĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠĠĠĠĠ Ġtype B : ĠMIME Type ĊĠĠĠĠĠ Ġ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġthis @ MIME Compatibility . is Compatible Strict ( type A , Ġtype B ) ĊĠĠĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġ[ is Compatible Strict Without Attributes ] Ġfunction Ġas Ġa Ġcompatibility Ġdecision . ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġstrict Without Attributes : ĠMIME Compatibility Type Ġ= ĊĠĠĠ Ġobject Ġ: ĠMIME Compatibility Type Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġis Compatible With ( ĊĠĠĠĠĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠĠĠĠĠ Ġtype B : ĠMIME Type ĊĠĠĠĠĠ Ġ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġthis @ MIME Compatibility . is Compatible Strict Without Attributes ( type A , Ġtype B ) ĊĠĠĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġ[ is Compatible L ax ] Ġfunction Ġas Ġa Ġcompatibility Ġdecision . ĊĠĠ Ġ*/ ĊĊĠ Ġval Ġl ax : ĠMIME Compatibility Type Ġ= ĊĠĠĠ Ġobject Ġ: ĠMIME Compatibility Type Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġis Compatible With ( ĊĠĠĠĠĠĠĠ Ġtype A : ĠMIME Type , ĊĠĠĠĠĠĠĠ Ġtype B : ĠMIME Type ĊĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġthis @ MIME Compatibility . is Compatible L ax ( type A , Ġtype B ) ĊĠĠĠ Ġ} Ċ }