teichmann@5861: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5861: * Software engineering by Intevation GmbH teichmann@5861: * teichmann@5993: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5861: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5993: * documentation coming with Dive4Elements River for details. teichmann@5861: */ teichmann@5861: teichmann@5835: package org.dive4elements.river.client.client.services; ingo@11: ingo@11: import com.google.gwt.user.client.rpc.RemoteService; ingo@11: import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; ingo@11: teichmann@5835: import org.dive4elements.river.client.shared.exceptions.ServerException; teichmann@5835: import org.dive4elements.river.client.shared.model.Artifact; teichmann@5835: import org.dive4elements.river.client.shared.model.Collection; ingo@11: teichmann@5835: import org.dive4elements.river.client.shared.model.Recommendation; sascha@843: ingo@11: /** ingo@11: * This interface provides artifact specific services as CREATE, DESCRIBE, FEED, ingo@11: * ADVANCE and OUT. ingo@11: * ingo@11: * @author Ingo Weinzierl ingo@11: */ ingo@11: @RemoteServiceRelativePath("artifact") ingo@11: public interface ArtifactService extends RemoteService { ingo@11: ingo@11: /** ingo@11: * This method creates a new artifact based on the given factory. ingo@11: * ingo@14: * @param serverUrl The url of the artifact server. ingo@229: * @param locale The locale used for the request. ingo@11: * @param factory The factory that should be used for the artifact creation. ingo@11: * ingo@11: * @return the new artifact. ingo@11: */ ingo@803: public Artifact create( sascha@843: String locale, sascha@843: String factory, sascha@843: Recommendation recommendation ingo@803: ) throws ServerException; bjoern@3865: bjoern@3865: /** felix@6039: * Create a new GaugeDischageCurveArtifact. bjoern@3865: * felix@6039: * @param collection the collection to add the artifact to. felix@6039: * @param river the river. felix@6039: * @param gaugeref reference id of the gauge. bjoern@3865: */ bjoern@3980: public Artifact createGaugeDischargeCurveArtifact( bjoern@3865: Collection collection, bjoern@3865: String locale, bjoern@3865: String river, bjoern@3865: Long gaugeref bjoern@3865: ) throws ServerException; rrenkert@5503: rrenkert@5503: /** felix@6039: * Create a new SQRelationArtifact. rrenkert@5503: * felix@6039: * @param collection the collection to add the artifact to. felix@6039: * @param river the river. felix@6039: * @param measurementStation the measurement station id. rrenkert@5503: */ rrenkert@5503: public Artifact createSQRelationArtifact( rrenkert@5503: Collection collection, rrenkert@5503: String locale, rrenkert@5503: String river, rrenkert@5503: int measurementStation rrenkert@5503: ) throws ServerException; felix@6040: felix@6040: /** felix@6040: * Create a new GaugeDischageCurveArtifact and also a Mainvalueartifact. felix@6040: * felix@6040: * @param collection the collection to add the artifacts to. felix@6040: * @param river the river. felix@6040: * @param gaugeref reference id of the gauge. felix@6040: */ felix@6040: public Artifact createGaugeDischargeView( felix@6040: Collection collection, felix@6040: String locale, felix@6040: String river, felix@6040: Long gaugeRef) felix@6040: throws ServerException; ingo@11: } ingo@11: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :