001: /**
002: * $Id: CacheEntry.java,v 1.5 2004/01/20 19:29:27 mjain Exp $
003: * Copyright 2003 Sun Microsystems, Inc. All
004: * rights reserved. Use of this product is subject
005: * to license terms. Federal Acquisitions:
006: * Commercial Software -- Government Users
007: * Subject to Standard License Terms and
008: * Conditions.
009: *
010: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
011: * are trademarks or registered trademarks of Sun Microsystems,
012: * Inc. in the United States and other countries.
013: */package com.sun.portal.wsrp.consumer.markup;
014:
015: import com.sun.portal.wsrp.common.stubs.CacheControl;
016: import com.sun.portal.wsrp.common.stubs.MarkupParams;
017:
018: /**
019: * An instance of CacheEntry represents the markup content
020: * and other information related to validity of this
021: * markup content.
022: */
023: public class CacheEntry {
024:
025: private MarkupContent _markupContent = null;
026: private CacheControl _cacheControl = null;
027: private MarkupParams _markupParams;
028: long _expireTime = -1;
029:
030: /**
031: * @param content MarkupContent that is being cached.
032: * @param control Cache control information for this markup.
033: * @param markupParams markupParams for which the markup was generated
034: */
035: public CacheEntry(MarkupContent content, CacheControl control,
036: MarkupParams markupParams) {
037:
038: _markupContent = content;
039: _cacheControl = control;
040: _markupParams = markupParams;
041: if (_cacheControl != null) {
042: _expireTime = _cacheControl.getExpires();
043: if (_expireTime != -1) {
044: _expireTime = _expireTime * 1000
045: + System.currentTimeMillis();
046: }
047: }
048: }
049:
050: /**
051: * Returns the MarkupContent that is being cached.
052: */
053: public MarkupContent getMarkupContent() {
054: return _markupContent;
055: }
056:
057: /**
058: * Returns (wsrp defined) CacheControl returned by
059: * the producer with the markup.
060: */
061: public CacheControl getCacheControl() {
062: return _cacheControl;
063: }
064:
065: /**
066: * validate tag returned by the producer with the markup.
067: */
068: public String getValidateTag() {
069: if (_cacheControl != null) {
070: return _cacheControl.getValidateTag();
071: }
072: return null;
073: }
074:
075: /**
076: * Returns true if the cache is still valid.
077: */
078: public boolean isValid() {
079:
080: long now = System.currentTimeMillis();
081: if ((_expireTime == -1) || (_expireTime > now)) {
082: return true;
083: } else {
084: return false;
085: }
086:
087: }
088:
089: /**
090: * Returns the markupParams for which markup was created
091: */
092: public MarkupParams getMarkupParams() {
093: return _markupParams;
094: }
095:
096: /**
097: * Returns the user scope that is valid for this cache entry
098: */
099: public String getUserScope() {
100: if (_cacheControl != null) {
101: return _cacheControl.getUserScope();
102: }
103: return null;
104: }
105:
106: }
|