package org.freeplane.plugin.remote.client.services; import org.freeplane.plugin.remote.client.User; import scala.concurrent.Future; import com.fasterxml.jackson.databind.JsonNode; public interface WS { /** * * @param username * @param password * @return User or null on failure */ Future<User> login(String username, String password); Future<Boolean> listenIfUpdatesOccur(String username, String accessToken, String mapId); Future<JsonNode> getMapAsXml(String username, String accessToken, String mapId); Future<GetUpdatesResponse> getUpdatesSinceRevision(String username, String accessToken, String mapId, int sinceRevision); Future<String> createNode(String username, String accessToken, String mapId, String parentNodeId); Future<Boolean> moveNodeTo(String username, String accessToken, String mapId, String newParentId, String nodeToMoveId, int newIndex); Future<Boolean> removeNode(String username, String accessToken, String mapId, String nodeId); Future<Boolean> changeNode(String username, String accessToken, String mapId, String nodeId, String attribute, Object value); }