Further excluding infrastructure/library field accesses.
[jpf-core.git] / src / main / gov / nasa / jpf / util / PrintStreamable.java
1 /*
2  * Copyright (C) 2015, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0.
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 package gov.nasa.jpf.util;
19
20 import java.io.PrintStream;
21
22 /**
23  * convenience interface to mix in PrintStream interface
24  */
25 public interface PrintStreamable {
26
27   // the primitive method used by the defaults
28   PrintStream getPrintStream();
29
30   default void println() {
31     getPrintStream().println();
32   }
33
34   default void print(boolean a){
35     getPrintStream().print(a);
36   }
37   default void print(int a){
38     getPrintStream().print(a);
39   }
40   default void print(double a){
41     getPrintStream().print(a);
42   }
43   default void print(String s) {
44     getPrintStream().print(s);
45   }
46   default void print(Object o) {
47     getPrintStream().print(o.toString());
48   }
49
50   default void println(boolean a){
51     getPrintStream().println(a);
52   }
53   default void println(int a){
54     getPrintStream().println(a);
55   }
56   default void println(double a){
57     getPrintStream().println(a);
58   }
59   default void println(String s) {
60     getPrintStream().println(s);
61   }
62   default void println(Object o) {
63     getPrintStream().println(o.toString());
64   }
65
66   default void printf (String format, Object... args) {
67     getPrintStream().printf(format, args);
68   }
69
70   //... and many more
71 }