/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . android . tools . lint . checks Ċ Ċ import Ġcom . android . tools . lint . detector . api . Des ug aring Ċ import Ġcom . android . tools . lint . detector . api . Detector Ċ Ċ @ Suppress (" Private PropertyName ") Ċ class ĠApi Detector Des ug aring Test Ġ: ĠAbstract Check Test () Ġ{ ĊĠĠĠ Ġfun Ġtest Try With Resources () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNo Ġdes ug aring ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / main / java / test / pkg / Multi Catch . java : 1 0 : ĠError : ĠMulti - catch Ġwith Ġthese Ġreflection Ġexceptions Ġrequires ĠAPI Ġlevel Ġ 1 9 Ġ( current Ġmin Ġis Ġ 1 ) Ġbecause Ġthey Ġget Ġcompiled Ġto Ġthe Ġcommon Ġbut Ġnew Ġsuper Ġtype ĠReflect ive OperationException . ĠAs Ġa Ġworkaround Ġeither Ġcreate Ġindividual Ġcatch Ġstatements , Ġor Ġcatch ĠException . Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( Illegal AccessException Ġ| ĠInvocation TargetException Ġ| ĠNoSuch Method Exception Ġe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / main / java / test / pkg / Try With Resources . java : 9 : ĠError : ĠTry - with - resources Ġrequires ĠAPI Ġlevel Ġ 1 9 Ġ( current Ġmin Ġis Ġ 1 ) Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ( BufferedReader Ġbr Ġ= Ġnew ĠBufferedReader ( new ĠFileReader ( path ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Catch , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 3 1 ĊĠĠĠĠĠĠĠ Ġ). run (). expect ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources Ok Due To Compile Sdk () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Catch , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 3 1 ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources Ok Due To Des ugar () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Catch , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 8 ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources Outside Android () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Catch , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle (" apply Ġplugin : Ġ' java '\ n ") ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources Old Gradle Plugin () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / main / java / test / pkg / Try With Resources . java : 9 : ĠError : ĠTry - with - resources Ġrequires ĠAPI Ġlevel Ġ 1 9 Ġ( current Ġmin Ġis Ġ 1 ) Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ( BufferedReader Ġbr Ġ= Ġnew ĠBufferedReader ( new ĠFileReader ( path ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 3 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources ĊĠĠĠĠĠĠĠ Ġ). run (). expect ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources New Plugin Language 1 7 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / main / java / test / pkg / Try With Resources . java : 9 : ĠError : ĠTry - with - resources Ġrequires ĠAPI Ġlevel Ġ 1 9 Ġ( current Ġmin Ġis Ġ 1 ) Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ( BufferedReader Ġbr Ġ= Ġnew ĠBufferedReader ( new ĠFileReader ( path ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources ĊĠĠĠĠĠĠĠ Ġ). run (). expect ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Try With Resources Des ugar () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry With Resources ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Des ugar Methods () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDes ugar Ġin lines ĠObjects . requireNonNull ( foo ) Ġso Ġdon 't Ġflag Ġthis Ġif Ġusing ĠDes ugar ĊĠĠĠĠĠĠĠ Ġ// ĠD it to Ġfor ĠThrowable . add Sup pressed . ĊĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . Objects ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠDes ugar Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġtest Require Null ( Object Ġfoo ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjects . requireNonNull ( foo ); Ġ// ĠDes ug ared , Ġshould Ġnot Ġgenerate Ġwarning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjects . requireNonNull ( foo , Ġ" message "); Ġ// ĠShould Ġgenerate ĠAPI Ġwarning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġadd Throwable ( Throwable Ġt 1 , ĠThrowable Ġt 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt 1 . add Sup pressed ( t 2 ); Ġ// ĠDes ug ared , Ġshould Ġnot Ġgenerate Ġwarning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 8 ĊĠĠĠĠĠĠĠ Ġ). run (). expect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / main / java / test / pkg / Des ugar Test . java : 9 : ĠError : ĠCall Ġrequires ĠAPI Ġlevel Ġ 1 9 Ġ( current Ġmin Ġis Ġ 1 ): Ġjava . util . Objects # requireNonNull Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjects . requireNonNull ( foo , Ġ" message "); Ġ// ĠShould Ġgenerate ĠAPI Ġwarning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~ ~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Default Methods Des ugar () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDefault Ġmethods Ġrequire Ġmin Sdk Version = N ĊĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" src / test / pkg / Interface Method Test . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġinterface ĠInterface Method Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoid Ġsome Method (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Ġvoid Ġmethod 2 () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (" test "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatic Ġvoid Ġmethod 3 () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (" test "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 8 ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Des ugar Compare () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDes ugar Ġre writes Ġthese ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠCompare Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġtest Long ( long Ġvalue 1 , Ġlong Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġresult 3 Ġ= ĠLong . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Float ( float Ġvalue 1 , Ġfloat Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFloat . compare ( value 1 , Ġvalue 2 ); Ġ// ĠOK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Boolean ( boolean Ġvalue 1 , Ġboolean Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBoolean . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Double ( double Ġvalue 1 , Ġdouble Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDouble . compare ( value 1 , Ġvalue 2 ); Ġ// ĠOK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Byte ( byte Ġvalue 1 , Ġbyte Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠByte . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Char ( char Ġvalue 1 , Ġchar Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCharacter . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Int ( int Ġvalue 1 , Ġint Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠInteger . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġint Ġtest Short ( short Ġvalue 1 , Ġshort Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠShort . compare ( value 1 , Ġvalue 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Version 2 4 _ language 1 8 ĊĠĠĠĠĠĠĠ Ġ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Des ugar Java 8 Lib s Kotlin () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ file : Suppress (" unused ", Ġ" UNUSED _ VARIABLE ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . time . Duration ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util .* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . function . Consumer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . function . Function ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠTest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtime ( duration : Ġjava . time . Duration ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnegative Ġ= Ġduration . is Negative ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġduration 2 Ġ= ĠDuration . of Millis ( 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġstreams ( list : ĠArrayList < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . stream (). forEach Ġ{ Ġit Ġ-> ĠConsumer < String > Ġ{ Ġprintln ( it ) Ġ} Ġ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfunctions ( func : ĠFunction < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfunc . apply (" hello ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġuse Ġannotations ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Target ( Annotation Target . TYPE , ĠAnnotation Target . TYPE _ PARAMETER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġannotation Ġclass ĠMy Type Use ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠ Ġ). des ug aring ( Des ug aring . FULL ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Des ugar Java 8 Lib s Java Android () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . lang . annotation . ElementType ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . lang . annotation . Repeat able ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . lang . annotation . Target ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . ArrayList ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . Arrays ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . Iterator ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . Optional ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . stream . Base Stream ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . stream . Stream ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" unused ", Ġ" Simpl ify Stream Api Call Ch ains ", Ġ" Optional Get Without Is Present ", Ġ" Optional Used As Field Or ParameterType ", Ġ" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠTest Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġutils ( java . util . Collection < String > Ġcollection ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection . remove If ( s Ġ-> Ġs . length () Ġ> Ġ 5 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġstreams ( ArrayList < String > Ġlist , ĠString [] Ġarray ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . stream (). forEach ( s Ġ-> ĠSystem . out . println ( s . length ())); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream < String > Ġstream Ġ= ĠArrays . stream ( array ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġother Utils ( Optional < String > Ġoptional , ĠIterator < String > Ġiterator , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjava . util . concurrent . atomic . Atomic Integer Ġinteger ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdouble Ġmax Ġ= Ġjava . lang . Double . max ( 5 , Ġ 6 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġexact Ġ= Ġjava . lang . Math . toInt Exact ( 5 L ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġgot Ġ= Ġoptional . get (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiterator . forEach Remaining ( s Ġ-> ĠSystem . out . println ( s . length ())); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteger . add AndGet ( 5 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġb anned Members ( java . util . Collection Ġcollection , Ġjava . util . stream . Base Stream < String > Ġbase ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream Ġstream Ġ= Ġcollection . parallel Stream (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Stream Ġparallel Ġ= Ġbase . parallel (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġuse Ġannotations ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Target ({ ElementType . TYPE _ PARAMETER , ĠElementType . TYPE _ USE }) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ interface ĠMy Inner Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRepeat able Ġannotations ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġ@ interface ĠS chedules Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSchedule [] Ġvalue (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Repeat able ( Schedules . class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġ@ interface ĠSchedule Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġday OfMonth () Ġdefault Ġ" first "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġday OfWeek () Ġdefault Ġ" Mon "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġhour () Ġdefault Ġ 1 2 ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠ Ġ). des ug aring ( Des ug aring . FULL ). run (). expect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / test / pkg / Test . java : 3 5 : ĠError : ĠCall Ġrequires ĠAPI Ġlevel Ġ 2 4 Ġ( current Ġmin Ġis Ġ 1 ): Ġjava . util . Collection # parallel Stream Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream Ġstream Ġ= Ġcollection . parallel Stream (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~~~~~ ~~ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / test / pkg / Test . java : 3 6 : ĠError : ĠCall Ġrequires ĠAPI Ġlevel Ġ 2 4 Ġ( current Ġmin Ġis Ġ 1 ): Ġjava . util . stream . Base Stream # parallel Ġ[ New Api ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Stream Ġparallel Ġ= Ġbase . parallel (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Des ugar Java 8 Lib s Java Lib () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlib Ġ= Ġproject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg . lib ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . ArrayList ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . util . function . Int Binary Operator ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" unused ", Ġ" Simpl ify Stream Api Call Ch ains ", Ġ" Optional Get Without Is Present ", Ġ" Optional Used As Field Or ParameterType ", Ġ" Convert 2 Method Ref ", Ġ" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠTest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġ@ interface ĠSomething Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjavax . lang . model . type . Type Kind Ġvalue (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Something ( javax . lang . model . type . Type Kind . PACKAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġusing Type Kind () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġother Utils ( java . util . concurrent . atomic . Atomic Integer Ġinteger , ĠInt Binary Operator Ġoperator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew ĠArrayList < String >(). stream (). forEach ( s Ġ-> ĠSystem . out . println ( s . length ())); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteger . add AndGet ( 5 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteger . accum ulate AndGet ( 5 , Ġoperator ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMake Ġsure Ġit 's Ġtreated Ġas Ġa Ġplain Ġlibrary ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġplugin : Ġ' java ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmain Ġ= Ġproject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest (). min Sdk ( 1 ) ĊĠĠĠĠĠĠĠ Ġ). depends On ( lib ) ĊĊĠĠĠĠĠĠĠ Ġlint (). projects ( lib , Ġmain ). des ug aring ( Des ug aring . FULL ). run (). expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġgradle Version 2 4 _ language 1 8 Ġ= Ġgradle ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġbuild script Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclasspath Ġ' com . android . tools . build : gradle : 2 . 4 . 0 - alpha 8 ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Compatibility ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Compatibility ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠ Ġ). indent ed () ĊĊĠĠĠ Ġprivate Ġval Ġgradle Version 2 4 _ language 1 7 Ġ= Ġgradle ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġbuild script Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclasspath Ġ' com . android . tools . build : gradle : 2 . 4 . 0 - alpha 8 ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Compatibility ĠJava Version . VERSION _ 1 _ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Compatibility ĠJava Version . VERSION _ 1 _ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠ Ġ). indent ed () ĊĊĠĠĠ Ġprivate Ġval Ġgradle Version 2 3 1 Ġ= Ġgradle ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġbuild script Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclasspath Ġ' com . android . tools . build : gradle : 2 . 3 . 1 ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠ Ġ). indent ed () ĊĊĠĠĠ Ġprivate Ġval Ġtry With Resources Ġ= Ġjava ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠ Ġimport Ġjava . io . BufferedReader ; ĊĠĠĠĠĠĠĠ Ġimport Ġjava . io . FileReader ; ĊĠĠĠĠĠĠĠ Ġimport Ġjava . io . IOException ; ĊĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" ClassName Diff ers From FileName ", Ġ" Method May Be Static "}) ĊĠĠĠĠĠĠĠ Ġpublic Ġclass ĠTry With Resources Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic ĠString Ġtest Try With Resources ( String Ġpath ) Ġthrows ĠIOException Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ( BufferedReader Ġbr Ġ= Ġnew ĠBufferedReader ( new ĠFileReader ( path ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbr . readLine (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ). indent ed () ĊĊĠĠĠ Ġprivate Ġval Ġmulti Catch Ġ= Ġjava ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠ Ġimport Ġjava . lang . reflect . Invocation TargetException ; ĊĊĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" ClassName Diff ers From FileName ", Ġ" Method May Be Static ", Ġ" Try With Ident ical Cat ches "}) ĊĠĠĠĠĠĠĠ Ġpublic Ġclass ĠMulti Catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġtest Multi Catch () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass . forName (" java . lang . Integer "). getMethod (" toString "). invoke ( null ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( Illegal AccessException Ġ| ĠInvocation TargetException Ġ| ĠNoSuch Method Exception Ġe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( Class NotFoundException Ġe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ). indent ed () ĊĊĠĠĠ Ġoverride Ġfun Ġget Detector (): ĠDetector Ġ= ĠApi Detector () Ċ } Ċ