view src/main/java/de/intevation/artifacts/httpclient/http/HttpClient.java @ 2:2fdfa20cfa63

Added an interface that is used to create instances of artifacts depending on the framework that includes this lib. The create() method of the HttpClient makes use of this interface. http-client/trunk@1325 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 17 Feb 2011 11:19:02 +0000
parents c9ac6642973c
children 19a617578b88
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */
package de.intevation.artifacts.httpclient.http;

import java.io.OutputStream;

import org.w3c.dom.Document;

import de.intevation.artifacts.httpclient.exceptions.ConnectionException;
import de.intevation.artifacts.httpclient.http.response.ResponseHandler;
import de.intevation.artifacts.httpclient.objects.Artifact;
import de.intevation.artifacts.httpclient.objects.ArtifactFactory;
import de.intevation.artifacts.httpclient.utils.ArtifactCreator;

/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public interface HttpClient {

    ArtifactFactory[] getArtifactFactories()
    throws ConnectionException;

    Object create(Document createDocument, ArtifactCreator creator)
    throws ConnectionException;

    Object describe(
        Artifact        artifact,
        Document        describeDocument,
        ResponseHandler handler)
    throws ConnectionException;

    Object feed(Artifact artifact, Document feedDocument, ResponseHandler handler)
    throws ConnectionException;

    Object advance(
        Artifact        artifact,
        Document        advanceDocument,
        ResponseHandler handler)
    throws ConnectionException;

    void out(
        Artifact     artifact,
        Document     outDocument,
        String       target,
        OutputStream out)
    throws ConnectionException;
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org