/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: ContentsRegister.java,v 1.3 2005/10/16 04:03:32 rampil Exp $
 */
package org.logical_paradox.rss.rcm;

import java.rmi.RemoteException;

/**
 * ContentsRegister
 * コンテンツ登録クライアントの抽象インターフェース
 * 
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.3 $
 */
public interface ContentsRegister {
	/**
	 * コンテンツ登録クライアントの固有名を返す．
	 * @return コンテンツ登録クライアントの固有名
	 * @throws RemoteException 何らかの原因で登録に失敗した
	 */
	public String getRegisterName() throws RemoteException;
	/**
	 * コンテンツ登録．
	 * @param url URL
	 * @param contents コンテンツデータ
	 * @throws RemoteException 何らかの原因で登録に失敗した
	 */
	public void registContents(String url, String contents) throws RemoteException;
	/**
	 * コンテンツが登録されているかどうかを返す．
	 * @param url URL
	 * @return true:登録されている / false:登録されていない
	 * @throws RemoteException 何らかの原因で判定に失敗した
	 */
	public boolean isRegistered(String url) throws RemoteException;
	/**
	 * コンテンツの登録を解除する．
	 * @param url URL
	 * @throws RemoteException 登録解除に失敗した
	 */
	public void unregistContents(String url) throws RemoteException;
	/**
	 * 登録されている全てのコンテンツを削除する．
	 * @throws RemoteException 登録解除に失敗した
	 */
	public void unregistAll() throws RemoteException;
	/**
	 * コンテンツ登録クライアントを停止する．
	 * @throws RemoteException 停止に失敗した
	 */
	public void shutdown() throws RemoteException;
}

// end of ContentsRegister.java
