001// SECTION-START[License Header] 002// <editor-fold defaultstate="collapsed" desc=" Generated License "> 003/* 004 * Java Object Management and Configuration 005 * Copyright (C) Christian Schulte, 2005-206 006 * All rights reserved. 007 * 008 * Redistribution and use in source and binary forms, with or without 009 * modification, are permitted provided that the following conditions 010 * are met: 011 * 012 * o Redistributions of source code must retain the above copyright 013 * notice, this list of conditions and the following disclaimer. 014 * 015 * o Redistributions in binary form must reproduce the above copyright 016 * notice, this list of conditions and the following disclaimer in 017 * the documentation and/or other materials provided with the 018 * distribution. 019 * 020 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 021 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 022 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 023 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, 024 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 025 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 026 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 027 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 028 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 029 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 030 * 031 * $JOMC: TestObjectManagementListener.java 4588 2012-06-03 06:01:30Z schulte2005 $ 032 * 033 */ 034// </editor-fold> 035// SECTION-END 036package org.jomc.ri.test.support; 037 038import java.io.OutputStream; 039import java.io.PrintWriter; 040import java.util.logging.Level; 041 042// SECTION-START[Documentation] 043// <editor-fold defaultstate="collapsed" desc=" Generated Documentation "> 044/** 045 * {@code ObjectManagementLister} logging to the console. 046 * 047 * <dl> 048 * <dt><b>Identifier:</b></dt><dd>JOMC :: RI :: Tests :: Test Object Management Listener</dd> 049 * <dt><b>Name:</b></dt><dd>JOMC RI</dd> 050 * <dt><b>Specifications:</b></dt> 051 * <dd>org.jomc.spi.Listener @ 1.0</dd> 052 * <dt><b>Abstract:</b></dt><dd>No</dd> 053 * <dt><b>Final:</b></dt><dd>No</dd> 054 * <dt><b>Stateless:</b></dt><dd>No</dd> 055 * </dl> 056 * 057 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0 058 * @version 1.3 059 */ 060// </editor-fold> 061// SECTION-END 062// SECTION-START[Annotations] 063// <editor-fold defaultstate="collapsed" desc=" Generated Annotations "> 064@javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.3", comments = "See http://jomc.sourceforge.net/jomc/1.3/jomc-tools-1.3" ) 065// </editor-fold> 066// SECTION-END 067public class TestObjectManagementListener 068 implements 069 org.jomc.spi.Listener 070{ 071 // SECTION-START[TestObjectManagementListener] 072 073 /** The {@code OutputStream} to stream to. */ 074 private OutputStream outputStream; 075 076 /** The {@code PrintWriter} events are printed with. */ 077 private PrintWriter printWriter; 078 079 /** 080 * Gets the output stream events are streamed to. 081 * 082 * @return The output stream events are streamed to. 083 */ 084 public OutputStream getOutputStream() 085 { 086 if ( this.outputStream == null ) 087 { 088 this.outputStream = System.out; 089 } 090 091 return this.outputStream; 092 } 093 094 /** 095 * Gets the print writer events are printed with, 096 * 097 * @return The print writer events are printed with. 098 */ 099 public PrintWriter getPrintWriter() 100 { 101 if ( this.printWriter == null ) 102 { 103 this.printWriter = new PrintWriter( this.getOutputStream(), true ); 104 } 105 106 return this.printWriter; 107 } 108 109 /** 110 * Sets the print writer to print events with, 111 * 112 * @param value The new print writer to print events with, 113 */ 114 public void setPrintWriter( final PrintWriter value ) 115 { 116 this.printWriter = value; 117 } 118 119 /** 120 * Sets the output stream to stream events to. 121 * 122 * @param value The new output stream to stream events to. 123 */ 124 public void setOutputStream( final OutputStream value ) 125 { 126 this.outputStream = value; 127 } 128 129 // SECTION-END 130 // SECTION-START[Listener] 131 public void onLog( final Level level, final String message, final Throwable throwable ) 132 { 133 if ( message != null ) 134 { 135 this.getPrintWriter().print( "[JOMC] " ); 136 this.getPrintWriter().print( "[" + level.getLocalizedName() + "] " ); 137 this.getPrintWriter().println( message ); 138 } 139 if ( throwable != null ) 140 { 141 this.getPrintWriter().print( "[JOMC] " ); 142 this.getPrintWriter().print( "[" + level.getLocalizedName() + "] " ); 143 this.getPrintWriter().println( throwable ); 144 } 145 } 146 147 // SECTION-END 148 // SECTION-START[Constructors] 149 // <editor-fold defaultstate="collapsed" desc=" Generated Constructors "> 150 /** Creates a new {@code TestObjectManagementListener} instance. */ 151 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.3", comments = "See http://jomc.sourceforge.net/jomc/1.3/jomc-tools-1.3" ) 152 public TestObjectManagementListener() 153 { 154 // SECTION-START[Default Constructor] 155 super(); 156 // SECTION-END 157 } 158 // </editor-fold> 159 // SECTION-END 160 // SECTION-START[Dependencies] 161 // SECTION-END 162 // SECTION-START[Properties] 163 // SECTION-END 164 // SECTION-START[Messages] 165 // SECTION-END 166}