1
2
3
4
5
6
7
8
9
10 package com.puppycrawl.tools.checkstyle.checks.coding.requirethis;
11
12 import java.io.*;
13 import java.util.Scanner;
14
15 public class InputRequireThisTryWithResources implements AutoCloseable {
16 private BufferedReader fldBufferedReader;
17 private InputStreamReader fldStreamReader;
18 private Scanner fldScanner;
19 private String fldCharset = "utf-8";
20
21 void oneResource() {
22 try (BufferedReader fldBufferedReader
23 = new BufferedReader(new InputStreamReader(null, "utf-8"))) { }
24 catch (IOException e) { }
25 }
26
27 void twoResourcesReferencingEachOther() {
28 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8");
29 BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader)) { }
30 catch (IOException e) { }
31 }
32
33 void threeResourcesReferencingEachOther() {
34 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8");
35 BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader);
36 Scanner fldScanner = new Scanner(
37 fldStreamReader.toString() + fldBufferedReader.toString())) { }
38 catch (IOException e) { }
39 }
40
41 void failToHandleParameter() {
42 try (BufferedReader fldBufferedReader = new BufferedReader(
43 new InputStreamReader(null, fldCharset))) { }
44 catch (IOException e) { }
45 }
46
47 void handleParameter() {
48 try (BufferedReader fldBufferedReader = new BufferedReader(
49 new InputStreamReader(null, this.fldCharset))) { }
50 catch (IOException e) { }
51 }
52
53 void noResources() {
54 try {
55 int a = 5;
56 fldCharset += a;
57 }
58 catch (Exception ex) { }
59 }
60
61 String methodToInvoke() {
62 return "string";
63 }
64
65 void methodInvoke() {
66 try (BufferedReader fldBufferedReader = new BufferedReader(
67 new InputStreamReader(null, methodToInvoke()))) { }
68 catch (Exception ex) { }
69 }
70
71 void methodIdentCopy() {
72 try (BufferedReader methodToInvoke = new BufferedReader(
73 new InputStreamReader(null, this.methodToInvoke()))) {
74 String a = methodToInvoke() + methodToInvoke.toString();
75 }
76 catch (Exception ex) { }
77 }
78
79 final static InputRequireThisTryWithResources r1 = new InputRequireThisTryWithResources();
80 final InputRequireThisTryWithResources r2 = new InputRequireThisTryWithResources();
81 static InputRequireThisTryWithResources r3 = new InputRequireThisTryWithResources();
82 InputRequireThisTryWithResources r4 = new InputRequireThisTryWithResources();
83
84 void staticVariables() {
85 try (r1) { }
86 catch (Exception e) { }
87
88 try (r1.r2) { }
89 catch (Exception e) { }
90
91 try (r1.r2.r4.r2.r4.r2) { }
92 catch (Exception e) { }
93 }
94
95 void nestedTryWithResources() {
96 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8")) {
97 try (BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader)) {
98 try (Scanner fldScanner = new Scanner(
99 fldBufferedReader.toString() + fldStreamReader.toString())) { }
100 }
101 try (Scanner fldScanner = new Scanner(
102 fldBufferedReader.toString() + fldStreamReader.toString())) { }
103 String a = fldStreamReader.toString()
104 + fldBufferedReader.toString() + fldScanner.toString();
105 }
106 catch (IOException e) {
107 String a = fldStreamReader.toString()
108 + fldBufferedReader.toString() + fldScanner.toString();
109 }
110 }
111
112 @Override
113 public void close() throws Exception { }
114 }