1 /************************************************************************ 2 * Copyright (c) 2000-2006 The Apache Software Foundation. * 3 * All rights reserved. * 4 * ------------------------------------------------------------------- * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you * 6 * may not use this file except in compliance with the License. You * 7 * may obtain a copy of the License at: * 8 * * 9 * http://www.apache.org/licenses/LICENSE-2.0 * 10 * * 11 * Unless required by applicable law or agreed to in writing, software * 12 * distributed under the License is distributed on an "AS IS" BASIS, * 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * 14 * implied. See the License for the specific language governing * 15 * permissions and limitations under the License. * 16 ***********************************************************************/ 17 18 package org.apache.james.transport.mailets.debug; 19 20 import org.apache.mailet.GenericMailet; 21 import org.apache.mailet.Mail; 22 23 /*** 24 * A simple in memory counter. Designed to count messages sent to this recipient 25 * for debugging purposes. 26 * 27 */ 28 public class Counter extends GenericMailet { 29 30 /*** 31 * The number of mails processed by this mailet 32 */ 33 int counter = 0; 34 35 /*** 36 * Count processed mails, marking each mail as completed after counting. 37 * 38 * @param mail the mail to process 39 */ 40 public void service(Mail mail) { 41 counter++; 42 log(counter + ""); 43 mail.setState(Mail.GHOST); 44 } 45 46 /*** 47 * Return a string describing this mailet. 48 * 49 * @return a string describing this mailet 50 */ 51 public String getMailetInfo() { 52 return "Counter Mailet"; 53 } 54 }