01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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 implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.cocoon.caching;
18:
19: import org.apache.excalibur.source.SourceValidity;
20:
21: /**
22: * A CacheValidity object wrapping the Avalon Excalibur
23: * <code>SourceValidity</code> object.
24: *
25: * @since 2.1
26: * @deprecated Use the Avalon Excalibur SourceValidity implementations instead
27: * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
28: * @version CVS $Id: CacheValidityToSourceValidity.java 433543 2006-08-22 06:22:54Z crossley $
29: */
30: public final class CacheValidityToSourceValidity implements
31: SourceValidity {
32:
33: protected CacheValidity cacheValidity;
34:
35: /**
36: * Create a new instance
37: */
38: public static CacheValidityToSourceValidity createValidity(
39: CacheValidity validity) {
40: if (null != validity) {
41: return new CacheValidityToSourceValidity(validity);
42: }
43: return null;
44: }
45:
46: /**
47: * Constructor
48: */
49: protected CacheValidityToSourceValidity(CacheValidity validity) {
50: this .cacheValidity = validity;
51: }
52:
53: /**
54: * Check if the component is still valid.
55: * If <code>0</code> is returned the isValid(SourceValidity) must be
56: * called afterwards!
57: * If -1 is returned, the component is not valid anymore and if +1
58: * is returnd, the component is valid.
59: */
60: public int isValid() {
61: return 0;
62: }
63:
64: /**
65: * Check if the component is still valid.
66: * This is only true, if the incoming Validity is of the same
67: * type and has the same values.
68: * The invocation order is that the isValid method of the
69: * old Validity object is called with the new one as a parameter
70: */
71: public int isValid(SourceValidity newValidity) {
72: if (newValidity instanceof CacheValidityToSourceValidity) {
73: if (this .cacheValidity
74: .isValid(((CacheValidityToSourceValidity) newValidity).cacheValidity)) {
75: return 1;
76: }
77: return -1;
78: }
79: return -1;
80: }
81:
82: public String toString() {
83: return "Cache Validity To Source Validity["
84: + this .cacheValidity + ']';
85: }
86: }
|