All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.rometools.propono.atom.server.AtomHandler Maven / Gradle / Ivy

Go to download

The ROME Propono subproject is a Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.

There is a newer version: 1.19.0
Show newest version
/*
 * Copyright 2007 Apache Software Foundation
 *
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */
package com.rometools.propono.atom.server;

import com.rometools.propono.atom.common.AtomService;
import com.rometools.propono.atom.common.Categories;
import com.rometools.rome.feed.atom.Entry;
import com.rometools.rome.feed.atom.Feed;

/**
 * Interface for handling single Atom protocol requests.
 *
 * 

* To create your own Atom protocol implementation you must implement this interface and create a * concrete sub-class of {@link com.rometools.rome.propono.atom.server.AtomHandlerFactory} which is * capable of instantiating it. *

* * @deprecated Propono will be removed in Rome 2. */ @Deprecated public interface AtomHandler { /** * Get username of authenticated user. Return the username of the authenticated user */ public String getAuthenticatedUsername(); /** * Return {@link com.rometools.rome.propono.atom.common.AtomService} object that contains the * {@link com.rometools.rome.propono.atom.common.Workspace} objects available to the currently * authenticated user and within those the * {@link com.rometools.rome.propono.atom.common.Collection} avalaible. */ public AtomService getAtomService(AtomRequest req) throws AtomException; /** * Get categories, a list of Categories objects */ public Categories getCategories(AtomRequest req) throws AtomException; /** * Return collection or portion of collection specified by request. * * @param req Details of HTTP request */ public Feed getCollection(AtomRequest req) throws AtomException; /** * Store new entry in collection specified by request and return representation of entry as it * is stored on server. * * @param req Details of HTTP request * @return Location URL of new entry */ public Entry postEntry(AtomRequest req, Entry entry) throws AtomException; /** * Get entry specified by request. * * @param req Details of HTTP request */ public Entry getEntry(AtomRequest req) throws AtomException; /** * Get media resource specified by request. * * @param req Details of HTTP request */ public AtomMediaResource getMediaResource(AtomRequest req) throws AtomException; /** * Update entry specified by request and return new entry as represented on the server. * * @param req Details of HTTP request */ public void putEntry(AtomRequest req, Entry entry) throws AtomException; /** * Delete entry specified by request. * * @param req Details of HTTP request */ public void deleteEntry(AtomRequest req) throws AtomException; /** * Store media data in collection specified by request, create an Atom media-link entry to store * metadata for the new media file and return that entry to the caller. * * @param req Details of HTTP request * @param entry New entry initialzied with only title and content type * @return Location URL of new media entry */ public Entry postMedia(AtomRequest req, Entry entry) throws AtomException; /** * Update the media file part of a media-link entry. * * @param req Details of HTTP request */ public void putMedia(AtomRequest req) throws AtomException; /** * Return true if specified request represents URI of a Service Document. * * @param req Details of HTTP request */ public boolean isAtomServiceURI(AtomRequest req); /** * Return true if specified request represents URI of a Categories Document. * * @param req Details of HTTP request */ public boolean isCategoriesURI(AtomRequest req); /** * Return true if specified request represents URI of a collection. * * @param req Details of HTTP request */ public boolean isCollectionURI(AtomRequest req); /** * Return true if specified request represents URI of an Atom entry. * * @param req Details of HTTP request */ public boolean isEntryURI(AtomRequest req); /** * Return true if specified patrequesthinfo represents media-edit URI. * * @param req Details of HTTP request */ public boolean isMediaEditURI(AtomRequest req); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy