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

syncloud.google.docs.model.DocsUrl Maven / Gradle / Ivy

The newest version!
package syncloud.google.docs.model;

import com.google.api.client.googleapis.GoogleUrl;

public class DocsUrl extends GoogleUrl {

    public static final String ROOT_URL = "https://docs.google.com/feeds";
    //public static final String FOLDER_PREFIX = "folder%3A";
    public static final String ROOT_RESOURCE_ID = "folder:root";

    public static boolean isRootResourceId(String resourceId){
        return resourceId.equals(DocsUrl.ROOT_RESOURCE_ID);
    }

    public DocsUrl(String url) {
        super(url);
        if (Debug.ENABLED) {
//            this.prettyprint = true;
        }
    }

    public DocsUrl(Link link) {
        super(link.href);
        if (Debug.ENABLED) {
//            this.prettyprint = true;
        }
    }

    private static DocsUrl forRoot() {
        return new DocsUrl(ROOT_URL);
    }

    private static DocsUrl forDefault() {
        DocsUrl result = forRoot();
        result.getPathParts().add("default");
        return result;
    }

    public static DocsUrl forDefaultPrivateFull() {
        DocsUrl result = forDefault();
        result.getPathParts().add("private");
        result.getPathParts().add("full");
        return result;
    }

    public static DocsUrl folders() {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add("-");
        docsUrl.getPathParts().add("folder");
        return docsUrl;

    }

    public static DocsUrl folders(Link link) {

        DocsUrl docsUrl = new DocsUrl(link);
        docsUrl.getPathParts().add("contents");
        docsUrl.getPathParts().add("-");
        docsUrl.getPathParts().add("folder");
        return docsUrl;

    }

    public static DocsUrl folders(String resourceId) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
        docsUrl.getPathParts().add("contents");
        docsUrl.getPathParts().add("-");
        docsUrl.getPathParts().add("folder");
        return docsUrl;

    }

    public static DocsUrl contents(String resourceId) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
        docsUrl.getPathParts().add("contents");
        docsUrl.put("showfolders", true);
        return docsUrl;

    }

    public static DocsUrl entrtyInfo(String resourceId) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
//        docsUrl.getPathParts().insert("contents");
//        docsUrl.put("showfolders", false);
        return docsUrl;

    }

    public static DocsUrl feedInfo(String resourceId) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
        docsUrl.getPathParts().add("contents");
        docsUrl.put("showfolders", false);
        return docsUrl;

    }

    public static DocsUrl folder(String resourceId) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
        //docsUrl.getPathParts().insert("contents");
        docsUrl.put("showfolders", false);
        return docsUrl;

    }

    public static DocsUrl delete(String resourceId, boolean permanent) {

        DocsUrl docsUrl = forDefaultPrivateFull();
        docsUrl.getPathParts().add(resourceId);
        if (permanent)
            docsUrl.put("delete", true);
        return docsUrl;
    }

    public static DocsUrl rootFolders() {
        return folders(ROOT_RESOURCE_ID);
    }

    public static DocsUrl rootAll() {
        DocsUrl docsUrl = rootFolders();
        docsUrl.put("showfolders", true);
        return docsUrl;

    }

    public static DocsUrl contents(Link link) {

        DocsUrl docsUrl = new DocsUrl(link);
        docsUrl.getPathParts().add("contents");
        docsUrl.put("showfolders", true);
        return docsUrl;

    }


    public static DocsUrl resumableUploadLink(Link link) {
        DocsUrl url = new DocsUrl(link);
        url.put("convert", "false");
        return url;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy