001/* 002 * flattr4j - A Java library for Flattr 003 * 004 * Copyright (C) 2011 Richard "Shred" Körber 005 * http://flattr4j.shredzone.org 006 * 007 * This program is free software: you can redistribute it and/or modify 008 * it under the terms of the GNU General Public License / GNU Lesser 009 * General Public License as published by the Free Software Foundation, 010 * either version 3 of the License, or (at your option) any later version. 011 * 012 * Licensed under the Apache License, Version 2.0 (the "License"); 013 * you may not use this file except in compliance with the License. 014 * 015 * This program is distributed in the hope that it will be useful, 016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 018 */ 019package org.shredzone.flattr4j.connector; 020 021import org.shredzone.flattr4j.exception.FlattrException; 022 023/** 024 * Interface for connectors that create connections to the Flattr API. 025 * 026 * @author Richard "Shred" Körber 027 */ 028public interface Connector { 029 030 /** 031 * Creates a new {@link Connection} for a call with request type 032 * {@link RequestType#GET}. 033 * 034 * @return {@link Connection} that was created 035 * @since 2.0 036 */ 037 Connection create() throws FlattrException; 038 039 /** 040 * Creates a new {@link Connection} for a call with the given request type. 041 * 042 * @param type 043 * {@link RequestType} to be used 044 * @return {@link Connection} that was created 045 * @since 2.0 046 */ 047 Connection create(RequestType type) throws FlattrException; 048 049}