@Override public void visitEnd() { p.visitClassEnd(); if (pw != null) { p.print(pw); pw.flush(); } super.visitEnd(); }
public static void main(String args[]){ Printer printer = new HP(); printer.getSystemResource(); printer.print(); }
public class Copy { private Keyboard keyboard = new Keyboard(); // concrete dependency private Printer printer = new Printer(); // concrete dependency public void copy() { for (int c = keyboard.read(); c != KeyBoard.EOF) { printer.print(c); } } } Now with dependency inversion: public class Copy { private Reader reader; // any dependency satisfying the reader interface will work private Writer writer; // any dependency satisfying the writer interface will work public void copy() { for (int c = reader.read(); c != Reader.EOF) { writer.write(c); } } public Copy(Reader reader, Writer writer) { this.reader = reader; this.writer = writer; } }
private String toString(MethodTree mt) { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final TraceMethodVisitor mv = new TraceMethodVisitor(new Textifier()); mt.rawNode().accept(mv); try (PrintWriter pw = new PrintWriter(bos)) { mv.p.print(pw); } return "Byte code is \n" + new String(bos.toByteArray()); }
public class MyJob extends Job { public void doJob() throws Exception { Printer printer = Spring.getBeanOfType(Printer.class); printer.print(); } }
class PrintWidget { // A collection of printers that keeps track of which printer the user has selected. // It could contain a FilePrinter, NetworkPrinter and any other object implementing the // Printer interface private Selectable<Printer> printers; // A reference to a printable object, could be a document or image or something private Printable printable; public void onPrintButtonPressed() { Printer printer = printers.getSelectedPrinter(); printer.print(printable); } // other methods }
Printer printer = PrinterFactory.createPrinter(); printer.print();
public void trace() { PrintWriter printWriter = new PrintWriter(System.out); printWriter.format("%nClass=%s, Method=%s [%s]%n", method.classCode.className, method.methodName, method.methodDescriptor); ((TraceMethodVisitor) mv).p.print(printWriter); printWriter.format("%n"); printWriter.flush(); } }
private static String toByteCode(ClassVisitor cv, Printer p, byte[] bytes) { new ClassReader(bytes).accept(cv, ClassReader.EXPAND_FRAMES); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); p.print(pw); pw.flush(); return sw.toString(); }
public void foo(final String str) { Printer p = new Printer() { public void print() { System.out.println(str); } }; p.print(); }
@Override public void run() { for(int i =0; i<5;i++){ //System.out.println("In Thread class" +i); Printer p = new Printer(); p.print(i); } }
Printer printer = new Printer(); printer.print("Hello World!");
/* Create a "printer" that renders text versions of instructions */ Printer printer = new Textifier(); TraceMethodVisitor methodPrinter = new TraceMethodVisitor(printer); /* render the instruction as a string and add it to printer's internal buffer */ insnNode.accept(methodPrinter); /* convert printer's internal buffer to string and clear the buffer (so we can reuse it later) */ StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); String insnNodeAsString = sw.toString(); /* print the string out */ System.out.print(insnNodeAsString);
public class InsnPrinter { private static final Printer printer = new Textifier(); private static final TraceMethodVisitor methodPrinter = new TraceMethodVisitor(printer); public static String prettyprint(AbsractInsnNode insnNode) { insnNode.accept(methodPrinter); StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); return sw.toString(); } }
@Override public void visitEnd() { p.visitClassEnd(); if (pw != null) { p.print(pw); pw.flush(); } super.visitEnd(); } }
@Override public void visitEnd() { p.visitClassEnd(); if (printWriter != null) { p.print(printWriter); printWriter.flush(); } super.visitEnd(); } }
@Override public void visitEnd() { p.visitClassEnd(); if (printWriter != null) { p.print(printWriter); printWriter.flush(); } super.visitEnd(); } }
public static void printMethod(MethodNode methodNode, int startIndex, int count) { Iterator<AbstractInsnNode> it = methodNode.instructions.iterator(startIndex); LOGGER.info("----- Printing " + methodNode.name + "... -----"); while (it.hasNext() && (count > 0 || count == -1)) { it.next().accept(methodVisitor); StringWriter stringWriter = new StringWriter(); printer.print(new PrintWriter(stringWriter)); printer.getText().clear(); LOGGER.info(stringWriter.toString().replace("\n", "")); if (count != -1) count--; } LOGGER.info("----- Finished! -----"); }
private static String getNodeString(AbstractInsnNode node) { Printer printer = new Textifier(); TraceMethodVisitor visitor = new TraceMethodVisitor(printer); node.accept(visitor); StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); return sw.toString().replaceAll("\n", "").trim(); }
public static void assertTraceDumpEquality( final MethodNode method, final String traceDump) throws Exception { Preconditions.checkNotNull(method, "method"); final Printer printer = new NonMaxTextifier(); final TraceMethodVisitor traceMethodVisitor = new TraceMethodVisitor(printer); // MethodAdapter checkMethodAdapter = new MethodAdapter(traceMethodVisitor); final MethodVisitor checkMethodAdapter = new CheckMethodAdapter(traceMethodVisitor); method.accept(checkMethodAdapter); final StringWriter stringWriter = new StringWriter(); final PrintWriter printWriter = new PrintWriter(stringWriter); printer.print(printWriter); printWriter.flush(); assertEquals(stringWriter.toString(), traceDump); }