01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. The ASF licenses this file to You
04: * under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License. For additional information regarding
15: * copyright in this work, please see the NOTICE file in the top level
16: * directory of this distribution.
17: */
18: /*
19: * ReferrerQueueManager.java
20: *
21: * Created on December 16, 2005, 5:37 PM
22: */
23:
24: package org.apache.roller.business.referrers;
25:
26: /**
27: * A queue for incoming referrers.
28: *
29: * @author Allen Gilliland
30: */
31: public interface ReferrerQueueManager {
32:
33: /**
34: * Process an incoming referrer.
35: *
36: * This method may contain additional logic on how to deal with referrers.
37: * It may process them immediately or it may store them for later processing.
38: */
39: public void processReferrer(IncomingReferrer ref);
40:
41: /**
42: * Add a referrer to the queue.
43: *
44: * It is almost always preferable to call processReferrer() instead.
45: */
46: public void enqueue(IncomingReferrer ref);
47:
48: /**
49: * Get the next item in the queue.
50: *
51: * Returns null if there is nothing in the queue.
52: */
53: public IncomingReferrer dequeue();
54:
55: /**
56: * Called when the system is being shutdown.
57: */
58: public void shutdown();
59:
60: }
|