From da1b0b2fc6a08a6e517dc5d35225ac8ffda112cc Mon Sep 17 00:00:00 2001 From: orbiter Date: Mon, 25 Aug 2008 18:22:23 +0000 Subject: [PATCH] added two new classes that will be used for the new htcache git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5080 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- .../de/anomic/index/indexDocumentCache.java | 98 +++++++++++++++++++ .../anomic/index/indexDocumentMetadata.java | 87 ++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100755 source/de/anomic/index/indexDocumentCache.java create mode 100755 source/de/anomic/index/indexDocumentMetadata.java diff --git a/source/de/anomic/index/indexDocumentCache.java b/source/de/anomic/index/indexDocumentCache.java new file mode 100755 index 000000000..1a7c9fb31 --- /dev/null +++ b/source/de/anomic/index/indexDocumentCache.java @@ -0,0 +1,98 @@ +// indexDocumentCache.java +// (C) 2008 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany +// first published 19.08.2008 on http://yacy.net +// +// This is a part of YaCy, a peer-to-peer based web search engine +// +// $LastChangedDate: 2006-04-02 22:40:07 +0200 (So, 02 Apr 2006) $ +// $LastChangedRevision: 1986 $ +// $LastChangedBy: orbiter $ +// +// LICENSE +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +package de.anomic.index; + +import java.io.File; +import java.io.InputStream; + +import de.anomic.server.logging.serverLog; +import de.anomic.yacy.yacyURL; + + +public class indexDocumentCache { + + public static final serverLog log = new serverLog("DOCUMENT-CACHE"); + + public indexDocumentCache(final File htCachePath, final long CacheSizeMax) { + + } + + + public int size() { + return 0; // dummy + } + + + /** + * This method changes the HTCache size.
+ * @param the new cache size in bytes + */ + public void setCacheSize(final long newCacheSize) { + } + + /** + * This method returns the free HTCache size.
+ * @return the cache size in bytes + */ + public long getFreeSize() { + return 0; // dummy + } + + public void writeResourceContent(final yacyURL url, final byte[] array) { + } + + public void deleteURLfromCache(final yacyURL url) { + } + + public void close() { + } + + public boolean full() { + return false; + } + + public boolean empty() { + return false; + } + + /** + * Returns the content of a cached resource as {@link InputStream} + * @param url the requested resource + * @return the resource content as {@link InputStream}. In no data + * is available or the cached file is not readable, null + * is returned. + */ + public InputStream getResourceContentStream(final yacyURL url) { + return null; + } + + public long getResourceContentLength(final yacyURL url) { + return 0; // dummy + } + +} diff --git a/source/de/anomic/index/indexDocumentMetadata.java b/source/de/anomic/index/indexDocumentMetadata.java new file mode 100755 index 000000000..93c8e242f --- /dev/null +++ b/source/de/anomic/index/indexDocumentMetadata.java @@ -0,0 +1,87 @@ +// indexDocumentMetadata.java +// (C) 2008 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany +// first published 19.08.2008 on http://yacy.net +// +// This is a part of YaCy, a peer-to-peer based web search engine +// +// $LastChangedDate: 2006-04-02 22:40:07 +0200 (So, 02 Apr 2006) $ +// $LastChangedRevision: 1986 $ +// $LastChangedBy: orbiter $ +// +// LICENSE +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package de.anomic.index; + +import java.io.File; +import java.util.Date; + +import de.anomic.crawler.CrawlProfile; +import de.anomic.yacy.yacyURL; + +public interface indexDocumentMetadata { + + /** + * @return an anchor name; can be either the text inside the anchor tag or the + * page description after loading of the page + */ + public String name(); + + public yacyURL url(); + + public String urlHash(); + + public Date lastModified(); + + public String language(); + + public CrawlProfile.entry profile(); + + public String initiator(); + + public boolean proxy(); + + public long size(); + + public int depth(); + + public yacyURL referrerURL(); + + public File cacheFile(); + + public void setCacheArray(final byte[] data); + + public byte[] cacheArray(); + + public String getMimeType(); + public Date ifModifiedSince(); + public boolean requestProhibitsIndexing(); + public boolean requestWithCookie(); + + /** + * @return NULL if the answer is TRUE, in case of FALSE, the reason as + * String is returned + */ + public String shallStoreCacheForProxy(); + + /** + * decide upon header information if a specific file should be taken from + * the cache or not + * + * @return whether the file should be taken from the cache + */ + public boolean shallUseCacheForProxy(); +}