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

com.evernote.edam.notestore.NoteStoreIface Maven / Gradle / Ivy

There is a newer version: 1.25.1
Show newest version
/**
 * Autogenerated by Thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package com.evernote.edam.notestore;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;

import com.evernote.thrift.*;
import com.evernote.thrift.protocol.*;

  /**
   * Service:  NoteStore
   * 

* The NoteStore service is used by EDAM clients to exchange information * about the collection of notes in an account. This is primarily used for * synchronization, but could also be used by a "thin" client without a full * local cache. *

* All functions take an "authenticationToken" parameter, which is the * value returned by the UserStore which permits access to the account. * This parameter is mandatory for all functions. *

* * Calls which require an authenticationToken may throw an EDAMUserException * for the following reasons: *
    *
  • AUTH_EXPIRED "authenticationToken" - token has expired *
  • *
  • BAD_DATA_FORMAT "authenticationToken" - token is malformed *
  • *
  • DATA_REQUIRED "authenticationToken" - token is empty *
  • *
  • INVALID_AUTH "authenticationToken" - token signature is invalid *
  • *
*/ public interface NoteStoreIface { /** * Asks the NoteStore to provide information about the status of the user * account corresponding to the provided authentication token. */ public SyncState getSyncState(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the NoteStore to provide information about the status of the user * account corresponding to the provided authentication token. * This version of 'getSyncState' allows the client to upload coarse- * grained usage metrics to the service. * * @param clientMetrics see the documentation of the ClientUsageMetrics * structure for an explanation of the fields that clients can pass to * the service. */ public SyncState getSyncStateWithMetrics(String authenticationToken, ClientUsageMetrics clientMetrics) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the NoteStore to provide the state of the account in order of * last modification. This request retrieves one block of the server's * state so that a client can make several small requests against a large * account rather than getting the entire state in one big message. * * @param afterUSN * The client can pass this value to ask only for objects that * have been updated after a certain point. This allows the client to * receive updates after its last checkpoint rather than doing a full * synchronization on every pass. The default value of "0" indicates * that the client wants to get objects from the start of the account. * * @param maxEntries * The maximum number of modified objects that should be * returned in the result SyncChunk. This can be used to limit the size * of each individual message to be friendly for network transfer. * Applications should not request more than 256 objects at a time, * and must handle the case where the service returns less than the * requested number of objects in a given request even though more * objects are available on the service. * * @param fullSyncOnly * If true, then the client only wants initial data for a full sync. * In this case, the service will not return any expunged objects, * and will not return any Resources, since these are also provided * in their corresponding Notes. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "afterUSN" - if negative *
  • *
  • BAD_DATA_FORMAT "maxEntries" - if less than 1 *
  • *
*/ public SyncChunk getSyncChunk(String authenticationToken, int afterUSN, int maxEntries, boolean fullSyncOnly) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the NoteStore to provide the state of the account in order of * last modification. This request retrieves one block of the server's * state so that a client can make several small requests against a large * account rather than getting the entire state in one big message. * This call gives more fine-grained control of the data that will * be received by a client by omitting data elements that a client doesn't * need. This may reduce network traffic and sync times. * * @param afterUSN * The client can pass this value to ask only for objects that * have been updated after a certain point. This allows the client to * receive updates after its last checkpoint rather than doing a full * synchronization on every pass. The default value of "0" indicates * that the client wants to get objects from the start of the account. * * @param maxEntries * The maximum number of modified objects that should be * returned in the result SyncChunk. This can be used to limit the size * of each individual message to be friendly for network transfer. * * @param filter * The caller must set some of the flags in this structure to specify which * data types should be returned during the synchronization. See * the SyncChunkFilter structure for information on each flag. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "afterUSN" - if negative *
  • *
  • BAD_DATA_FORMAT "maxEntries" - if less than 1 *
  • *
*/ public SyncChunk getFilteredSyncChunk(String authenticationToken, int afterUSN, int maxEntries, SyncChunkFilter filter) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the NoteStore to provide information about the status of a linked * notebook that has been shared with the caller, or that is public to the * world. * This will return a result that is similar to getSyncState, but may omit * SyncState.uploaded if the caller doesn't have permission to write to * the linked notebook. * * This function must be called on the shard that owns the referenced * notebook. (I.e. the shardId in /shard/shardId/edam/note must be the * same as LinkedNotebook.shardId.) * * @param authenticationToken * This should be an authenticationToken for the guest who has received * the invitation to the share. (I.e. this should not be the result of * NoteStore.authenticateToSharedNotebook) * * @param linkedNotebook * This structure should contain identifying information and permissions * to access the notebook in question. */ public SyncState getLinkedNotebookSyncState(String authenticationToken, com.evernote.edam.type.LinkedNotebook linkedNotebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Asks the NoteStore to provide information about the contents of a linked * notebook that has been shared with the caller, or that is public to the * world. * This will return a result that is similar to getSyncChunk, but will only * contain entries that are visible to the caller. I.e. only that particular * Notebook will be visible, along with its Notes, and Tags on those Notes. * * This function must be called on the shard that owns the referenced * notebook. (I.e. the shardId in /shard/shardId/edam/note must be the * same as LinkedNotebook.shardId.) * * @param authenticationToken * This should be an authenticationToken for the guest who has received * the invitation to the share. (I.e. this should not be the result of * NoteStore.authenticateToSharedNotebook) * * @param linkedNotebook * This structure should contain identifying information and permissions * to access the notebook in question. This must contain the valid fields * for either a shared notebook (e.g. shareKey) * or a public notebook (e.g. username, uri) * * @param afterUSN * The client can pass this value to ask only for objects that * have been updated after a certain point. This allows the client to * receive updates after its last checkpoint rather than doing a full * synchronization on every pass. The default value of "0" indicates * that the client wants to get objects from the start of the account. * * @param maxEntries * The maximum number of modified objects that should be * returned in the result SyncChunk. This can be used to limit the size * of each individual message to be friendly for network transfer. * Applications should not request more than 256 objects at a time, * and must handle the case where the service returns less than the * requested number of objects in a given request even though more * objects are available on the service. * * @param fullSyncOnly * If true, then the client only wants initial data for a full sync. * In this case, the service will not return any expunged objects, * and will not return any Resources, since these are also provided * in their corresponding Notes. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "afterUSN" - if negative *
  • *
  • BAD_DATA_FORMAT "maxEntries" - if less than 1 *
  • *
* * @throws EDAMNotFoundException
    *
  • "LinkedNotebook" - if the provided information doesn't match any * valid notebook *
  • *
  • "LinkedNotebook.uri" - if the provided public URI doesn't match any * valid notebook *
  • *
  • "SharedNotebook.id" - if the provided information indicates a * shared notebook that no longer exists *
  • *
*/ public SyncChunk getLinkedNotebookSyncChunk(String authenticationToken, com.evernote.edam.type.LinkedNotebook linkedNotebook, int afterUSN, int maxEntries, boolean fullSyncOnly) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a list of all of the notebooks in the account. */ public List listNotebooks(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Returns the current state of the notebook with the provided GUID. * The notebook may be active or deleted (but not expunged). * * @param guid * The GUID of the notebook to be retrieved. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing *
  • *
  • PERMISSION_DENIED "Notebook" - private notebook, user doesn't own *
  • *
* * @throws EDAMNotFoundException
    *
  • "Notebook.guid" - tag not found, by GUID *
  • *
*/ public com.evernote.edam.type.Notebook getNotebook(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the notebook that should be used to store new notes in the * user's account when no other notebooks are specified. */ public com.evernote.edam.type.Notebook getDefaultNotebook(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the service to make a notebook with the provided name. * * @param notebook * The desired fields for the notebook must be provided on this * object. The name of the notebook must be set, and either the 'active' * or 'defaultNotebook' fields may be set by the client at creation. * If a notebook exists in the account with the same name (via * case-insensitive compare), this will throw an EDAMUserException. * * @return * The newly created Notebook. The server-side GUID will be * saved in this object's 'guid' field. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri *
  • *
  • BAD_DATA_FORMAT "Publishing.publicDescription" - if too long *
  • *
  • DATA_CONFLICT "Notebook.name" - name already in use *
  • *
  • DATA_CONFLICT "Publishing.uri" - if URI already in use *
  • *
  • DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing *
  • *
  • LIMIT_REACHED "Notebook" - at max number of notebooks *
  • *
*/ public com.evernote.edam.type.Notebook createNotebook(String authenticationToken, com.evernote.edam.type.Notebook notebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Submits notebook changes to the service. The provided data must include * the notebook's guid field for identification. * * @param notebook * The notebook object containing the requested changes. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri *
  • *
  • BAD_DATA_FORMAT "Publishing.publicDescription" - if too long *
  • *
  • DATA_CONFLICT "Notebook.name" - name already in use *
  • *
  • DATA_CONFLICT "Publishing.uri" - if URI already in use *
  • *
  • DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing *
  • *
* * @throws EDAMNotFoundException
    *
  • "Notebook.guid" - not found, by GUID *
  • *
*/ public int updateNotebook(String authenticationToken, com.evernote.edam.type.Notebook notebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently removes the notebook from the user's account. * After this action, the notebook is no longer available for undeletion, etc. * If the notebook contains any Notes, they will be moved to the current * default notebook and moved into the trash (i.e. Note.active=false). *

* NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param guid * The GUID of the notebook to delete. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException

    *
  • BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing *
  • *
  • LIMIT_REACHED "Notebook" - trying to expunge the last Notebook *
  • *
  • PERMISSION_DENIED "Notebook" - private notebook, user doesn't own *
  • *
*/ public int expungeNotebook(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a list of the tags in the account. Evernote does not support * the undeletion of tags, so this will only include active tags. */ public List listTags(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Returns a list of the tags that are applied to at least one note within * the provided notebook. If the notebook is public, the authenticationToken * may be ignored. * * @param notebookGuid * the GUID of the notebook to use to find tags * * @throws EDAMNotFoundException
    *
  • "Notebook.guid" - notebook not found by GUID *
  • *
*/ public List listTagsByNotebook(String authenticationToken, String notebookGuid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the current state of the Tag with the provided GUID. * * @param guid * The GUID of the tag to be retrieved. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Tag.guid" - if the parameter is missing *
  • *
  • PERMISSION_DENIED "Tag" - private Tag, user doesn't own *
  • *
* * @throws EDAMNotFoundException
    *
  • "Tag.guid" - tag not found, by GUID *
  • *
*/ public com.evernote.edam.type.Tag getTag(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Asks the service to make a tag with a set of information. * * @param tag * The desired list of fields for the tag are specified in this * object. The caller must specify the tag name, and may provide * the parentGUID. * * @return * The newly created Tag. The server-side GUID will be * saved in this object. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Tag.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID *
  • *
  • DATA_CONFLICT "Tag.name" - name already in use *
  • *
  • LIMIT_REACHED "Tag" - at max number of tags *
  • *
* * @throws EDAMNotFoundException
    *
  • "Tag.parentGuid" - not found, by GUID *
  • *
*/ public com.evernote.edam.type.Tag createTag(String authenticationToken, com.evernote.edam.type.Tag tag) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Submits tag changes to the service. The provided data must include * the tag's guid field for identification. The service will apply * updates to the following tag fields: name, parentGuid * * @param tag * The tag object containing the requested changes. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Tag.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID *
  • *
  • DATA_CONFLICT "Tag.name" - name already in use *
  • *
  • DATA_CONFLICT "Tag.parentGuid" - can't set parent: circular *
  • *
  • PERMISSION_DENIED "Tag" - user doesn't own tag *
  • *
* * @throws EDAMNotFoundException
    *
  • "Tag.guid" - tag not found, by GUID *
  • *
  • "Tag.parentGuid" - parent not found, by GUID *
  • *
*/ public int updateTag(String authenticationToken, com.evernote.edam.type.Tag tag) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Removes the provided tag from every note that is currently tagged with * this tag. If this operation is successful, the tag will still be in * the account, but it will not be tagged on any notes. * * This function is not indended for use by full synchronizing clients, since * it does not provide enough result information to the client to reconcile * the local state without performing a follow-up sync from the service. This * is intended for "thin clients" that need to efficiently support this as * a UI operation. * * @param guid * The GUID of the tag to remove from all notes. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing *
  • *
  • PERMISSION_DENIED "Tag" - user doesn't own tag *
  • *
* * @throws EDAMNotFoundException
    *
  • "Tag.guid" - tag not found, by GUID *
  • *
*/ public void untagAll(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently deletes the tag with the provided GUID, if present. *

* NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param guid * The GUID of the tag to delete. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException

    *
  • BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing *
  • *
  • PERMISSION_DENIED "Tag" - user doesn't own tag *
  • *
* * @throws EDAMNotFoundException
    *
  • "Tag.guid" - tag not found, by GUID *
  • *
*/ public int expungeTag(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a list of the searches in the account. Evernote does not support * the undeletion of searches, so this will only include active searches. */ public List listSearches(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Returns the current state of the search with the provided GUID. * * @param guid * The GUID of the search to be retrieved. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "SavedSearch.guid" - if the parameter is missing *
  • *
  • PERMISSION_DENIED "SavedSearch" - private Tag, user doesn't own *
  • *
*/ public com.evernote.edam.type.SavedSearch getSearch(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Asks the service to make a saved search with a set of information. * * @param search * The desired list of fields for the search are specified in this * object. The caller must specify the * name, query, and format of the search. * * @return * The newly created SavedSearch. The server-side GUID will be * saved in this object. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "SavedSearch.query" - invalid length *
  • *
  • BAD_DATA_FORMAT "SavedSearch.format" - not a valid QueryFormat value *
  • *
  • DATA_CONFLICT "SavedSearch.name" - name already in use *
  • *
  • LIMIT_REACHED "SavedSearch" - at max number of searches *
  • *
*/ public com.evernote.edam.type.SavedSearch createSearch(String authenticationToken, com.evernote.edam.type.SavedSearch search) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Submits search changes to the service. The provided data must include * the search's guid field for identification. The service will apply * updates to the following search fields: name, query, and format * * @param search * The search object containing the requested changes. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern *
  • *
  • BAD_DATA_FORMAT "SavedSearch.query" - invalid length *
  • *
  • BAD_DATA_FORMAT "SavedSearch.format" - not a valid QueryFormat value *
  • *
  • DATA_CONFLICT "SavedSearch.name" - name already in use *
  • *
  • PERMISSION_DENIED "SavedSearch" - user doesn't own tag *
  • *
* * @throws EDAMNotFoundException
    *
  • "SavedSearch.guid" - not found, by GUID *
  • *
*/ public int updateSearch(String authenticationToken, com.evernote.edam.type.SavedSearch search) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently deletes the saved search with the provided GUID, if present. *

* NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param guid * The GUID of the search to delete. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException

    *
  • BAD_DATA_FORMAT "SavedSearch.guid" - if the guid parameter is empty *
  • *
  • PERMISSION_DENIED "SavedSearch" - user doesn't own *
  • *
* * @throws EDAMNotFoundException
    *
  • "SavedSearch.guid" - not found, by GUID *
  • *
*/ public int expungeSearch(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Used to find a set of the notes from a user's account based on various * criteria specified via a NoteFilter object. * The Notes (and any embedded Resources) will have empty Data bodies for * contents, resource data, and resource recognition fields. These values * must be retrieved individually. * * @param authenticationToken * Must be a valid token for the user's account unless the NoteFilter * 'notebookGuid' is the GUID of a public notebook. * * @param filter * The list of criteria that will constrain the notes to be returned. * * @param offset * The numeric index of the first note to show within the sorted * results. The numbering scheme starts with "0". This can be used for * pagination. * * @param maxNotes * The most notes to return in this query. The service will return a set * of notes that is no larger than this number, but may return fewer notes * if needed. The NoteList.totalNotes field in the return value will * indicate whether there are more values available after the returned set. * * @return * The list of notes that match the criteria. * * @throws EDAMUserException
    *
  • BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX *
  • *
  • BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX *
  • *
  • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed *
  • *
  • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed *
  • *
  • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long *
  • * * @throws EDAMNotFoundException
      *
    • "Notebook.guid" - not found, by GUID *
    • *
    */ public NoteList findNotes(String authenticationToken, NoteFilter filter, int offset, int maxNotes) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Finds the position of a note within a sorted subset of all of the user's * notes. This may be useful for thin clients that are displaying a paginated * listing of a large account, which need to know where a particular note * sits in the list without retrieving all notes first. * * @param authenticationToken * Must be a valid token for the user's account unless the NoteFilter * 'notebookGuid' is the GUID of a public notebook. * * @param filter * The list of criteria that will constrain the notes to be returned. * * @param guid * The GUID of the note to be retrieved. * * @return * If the note with the provided GUID is found within the matching note * list, this will return the offset of that note within that list (where * the first offset is 0). If the note is not found within the set of * notes, this will return -1. * * @throws EDAMUserException
      *
    • BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX *
    • *
    • BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX *
    • *
    • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed *
    • *
    • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed *
    • *
    • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long *
    • * * @throws EDAMNotFoundException
        *
      • "Notebook.guid" - not found, by GUID *
      • *
      • "Note.guid" - not found, by GUID *
      • *
      */ public int findNoteOffset(String authenticationToken, NoteFilter filter, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Used to find the high-level information about a set of the notes from a * user's account based on various criteria specified via a NoteFilter object. * This should be used instead of 'findNotes' whenever the client doesn't * really need all of the deep structure of every Note and Resource, but * just wants a high-level list of information. This will save time and * bandwidth. * * @param authenticationToken * Must be a valid token for the user's account unless the NoteFilter * 'notebookGuid' is the GUID of a public notebook. * * @param filter * The list of criteria that will constrain the notes to be returned. * * @param offset * The numeric index of the first note to show within the sorted * results. The numbering scheme starts with "0". This can be used for * pagination. * * @param maxNotes * The mximum notes to return in this query. The service will return a set * of notes that is no larger than this number, but may return fewer notes * if needed. The NoteList.totalNotes field in the return value will * indicate whether there are more values available after the returned set. * * @param resultSpec * This specifies which information should be returned for each matching * Note. The fields on this structure can be used to eliminate data that * the client doesn't need, which will reduce the time and bandwidth * to receive and process the reply. * * @return * The list of notes that match the criteria. * * @throws EDAMUserException
        *
      • BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX *
      • *
      • BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX *
      • *
      • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed *
      • *
      • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed *
      • *
      • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long *
      • *
      * * @throws EDAMNotFoundException
        *
      • "Notebook.guid" - not found, by GUID *
      • *
      */ public NotesMetadataList findNotesMetadata(String authenticationToken, NoteFilter filter, int offset, int maxNotes, NotesMetadataResultSpec resultSpec) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * This function is used to determine how many notes are found for each * notebook and tag in the user's account, given a current set of filter * parameters that determine the current selection. This function will * return a structure that gives the note count for each notebook and tag * that has at least one note under the requested filter. Any notebook or * tag that has zero notes in the filtered set will not be listed in the * reply to this function (so they can be assumed to be 0). * * @param authenticationToken * Must be a valid token for the user's account unless the NoteFilter * 'notebookGuid' is the GUID of a public notebook. * * @param filter * The note selection filter that is currently being applied. The note * counts are to be calculated with this filter applied to the total set * of notes in the user's account. * * @param withTrash * If true, then the NoteCollectionCounts.trashCount will be calculated * and supplied in the reply. Otherwise, the trash value will be omitted. * * @throws EDAMUserException
        *
      • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed *
      • *
      • BAD_DATA_FORMAT "NoteFilter.notebookGuids" - if any are malformed *
      • *
      • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long *
      • * * @throws EDAMNotFoundException
          *
        • "Notebook.guid" - not found, by GUID *
        • *
        */ public NoteCollectionCounts findNoteCounts(String authenticationToken, NoteFilter filter, boolean withTrash) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the current state of the note in the service with the provided * GUID. The ENML contents of the note will only be provided if the * 'withContent' parameter is true. The service will include the meta-data * for each resource in the note, but the binary contents of the resources * and their recognition data will be omitted. * If the Note is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). The applicationData * fields are returned as keysOnly. * * @param guid * The GUID of the note to be retrieved. * * @param withContent * If true, the note will include the ENML contents of its * 'content' field. * * @param withResourcesData * If true, any Resource elements in this Note will include the binary * contents of their 'data' field's body. * * @param withResourcesRecognition * If true, any Resource elements will include the binary contents of the * 'recognition' field's body if recognition data is present. * * @param withResourcesAlternateData * If true, any Resource elements in this Note will include the binary * contents of their 'alternateData' fields' body, if an alternate form * is present. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public com.evernote.edam.type.Note getNote(String authenticationToken, String guid, boolean withContent, boolean withResourcesData, boolean withResourcesRecognition, boolean withResourcesAlternateData) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Get all of the application data for the note identified by GUID, * with values returned within the LazyMap fullMap field. * If there are no applicationData entries, then a LazyMap * with an empty fullMap will be returned. If your application * only needs to fetch its own applicationData entry, use * getNoteApplicationDataEntry instead. */ public com.evernote.edam.type.LazyMap getNoteApplicationData(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Get the value of a single entry in the applicationData map * for the note identified by GUID. * * @throws EDAMNotFoundException
          *
        • "Note.guid" - note not found, by GUID
        • *
        • "NoteAttributes.applicationData.key" - note not found, by key
        • *
        */ public String getNoteApplicationDataEntry(String authenticationToken, String guid, String key) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Update, or create, an entry in the applicationData map for * the note identified by guid. */ public int setNoteApplicationDataEntry(String authenticationToken, String guid, String key, String value) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Remove an entry identified by 'key' from the applicationData map for * the note identified by 'guid'. Silently ignores an unset of a * non-existing key. */ public int unsetNoteApplicationDataEntry(String authenticationToken, String guid, String key) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns XHTML contents of the note with the provided GUID. * If the Note is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the note to be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public String getNoteContent(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a block of the extracted plain text contents of the note with the * provided GUID. This text can be indexed for search purposes by a light * client that doesn't have capabilities to extract all of the searchable * text content from the note and its resources. * * If the Note is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the note to be retrieved. * * @param noteOnly * If true, this will only return the text extracted from the ENML contents * of the note itself. If false, this will also include the extracted text * from any text-bearing resources (PDF, recognized images) * * @param tokenizeForIndexing * If true, this will break the text into cleanly separated and sanitized * tokens. If false, this will return the more raw text extraction, with * its original punctuation, capitalization, spacing, etc. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public String getNoteSearchText(String authenticationToken, String guid, boolean noteOnly, boolean tokenizeForIndexing) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a block of the extracted plain text contents of the resource with * the provided GUID. This text can be indexed for search purposes by a light * client that doesn't have capability to extract all of the searchable * text content from a resource. * * If the Resource is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the resource to be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        */ public String getResourceSearchText(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a list of the names of the tags for the note with the provided * guid. This can be used with authentication to get the tags for a * user's own note, or can be used without valid authentication to retrieve * the names of the tags for a note in a public notebook. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public List getNoteTagNames(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Asks the service to make a note with the provided set of information. * * @param note * A Note object containing the desired fields to be populated on * the service. * * @return * The newly created Note from the service. The server-side * GUIDs for the Note and any Resources will be saved in this object. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.title" - invalid length or pattern *
        • *
        • BAD_DATA_FORMAT "Note.content" - invalid length for ENML content *
        • *
        • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type *
        • *
        • BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string *
        • *
        • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string *
        • *
        • DATA_CONFLICT "Note.deleted" - deleted time set on active note *
        • *
        • DATA_REQUIRED "Resource.data" - resource data body missing *
        • *
        • ENML_VALIDATION "*" - note content doesn't validate against DTD *
        • *
        • LIMIT_REACHED "Note" - at max number per account *
        • *
        • LIMIT_REACHED "Note.size" - total note size too large *
        • *
        • LIMIT_REACHED "Note.resources" - too many resources on Note *
        • *
        • LIMIT_REACHED "Note.tagGuids" - too many Tags on Note *
        • *
        • LIMIT_REACHED "Resource.data.size" - resource too large *
        • *
        • LIMIT_REACHED "NoteAttribute.*" - attribute string too long *
        • *
        • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long *
        • *
        • PERMISSION_DENIED "Note.notebookGuid" - NB not owned by user *
        • *
        • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota *
        • *
        • BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one * of the specified tags had an invalid length or pattern *
        • *
        • LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required * new tags would exceed the maximum number per account *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.notebookGuid" - not found, by GUID *
        • *
        */ public com.evernote.edam.type.Note createNote(String authenticationToken, com.evernote.edam.type.Note note) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Submit a set of changes to a note to the service. The provided data * must include the note's guid field for identification. The note's * title must also be set. * * @param note * A Note object containing the desired fields to be populated on * the service. With the exception of the note's title and guid, fields * that are not being changed do not need to be set. If the content is not * being modified, note.content should be left unset. If the list of * resources is not being modified, note.resources should be left unset. * * @return * The metadata (no contents) for the Note on the server after the update * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.title" - invalid length or pattern *
        • *
        • BAD_DATA_FORMAT "Note.content" - invalid length for ENML body *
        • *
        • BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string *
        • *
        • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string *
        • *
        • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type *
        • *
        • DATA_CONFLICT "Note.deleted" - deleted time set on active note *
        • *
        • DATA_REQUIRED "Resource.data" - resource data body missing *
        • *
        • ENML_VALIDATION "*" - note content doesn't validate against DTD *
        • *
        • LIMIT_REACHED "Note.tagGuids" - too many Tags on Note *
        • *
        • LIMIT_REACHED "Note.resources" - too many resources on Note *
        • *
        • LIMIT_REACHED "Note.size" - total note size too large *
        • *
        • LIMIT_REACHED "Resource.data.size" - resource too large *
        • *
        • LIMIT_REACHED "NoteAttribute.*" - attribute string too long *
        • *
        • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long *
        • *
        • PERMISSION_DENIED "Note" - user doesn't own *
        • *
        • PERMISSION_DENIED "Note.notebookGuid" - user doesn't own destination *
        • *
        • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota *
        • *
        • BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one * of the specified tags had an invalid length or pattern *
        • *
        • LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required * new tags would exceed the maximum number per account *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - note not found, by GUID *
        • *
        • "Note.notebookGuid" - if notebookGuid provided, but not found *
        • *
        */ public com.evernote.edam.type.Note updateNote(String authenticationToken, com.evernote.edam.type.Note note) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Moves the note into the trash. The note may still be undeleted, unless it * is expunged. This is equivalent to calling updateNote() after setting * Note.active = false * * @param guid * The GUID of the note to delete. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException
          *
        • PERMISSION_DENIED "Note" - user doesn't have permission to * update the note. *
        • *
        * * @throws EDAMUserException
          *
        • DATA_CONFLICT "Note.guid" - the note is already deleted *
        • *
        * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public int deleteNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently removes a Note, and all of its Resources, * from the service. *

        * NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param guid * The GUID of the note to delete. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException

          *
        • PERMISSION_DENIED "Note" - user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public int expungeNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently removes a list of Notes, and all of their Resources, from * the service. This should be invoked with a small number of Note GUIDs * (e.g. 100 or less) on each call. To expunge a larger number of notes, * call this method multiple times. This should also be used to reduce the * number of Notes in a notebook before calling expungeNotebook() or * in the trash before calling expungeInactiveNotes(), since these calls may * be prohibitively slow if there are more than a few hundred notes. * If an exception is thrown for any of the GUIDs, then none of the notes * will be deleted. I.e. this call can be treated as an atomic transaction. *

        * NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param noteGuids * The list of GUIDs for the Notes to remove. * * @return * The account's updateCount at the end of this operation * * @throws EDAMUserException

          *
        • PERMISSION_DENIED "Note" - user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public int expungeNotes(String authenticationToken, List noteGuids) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Permanently removes all of the Notes that are currently marked as * inactive. This is equivalent to "emptying the trash", and these Notes * will be gone permanently. *

        * This operation may be relatively slow if the account contains a large * number of inactive Notes. *

        * NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @return * The number of notes that were expunged. */ public int expungeInactiveNotes(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException; /** * Performs a deep copy of the Note with the provided GUID 'noteGuid' into * the Notebook with the provided GUID 'toNotebookGuid'. * The caller must be the owner of both the Note and the Notebook. * This creates a new Note in the destination Notebook with new content and * Resources that match all of the content and Resources from the original * Note, but with new GUID identifiers. * The original Note is not modified by this operation. * The copied note is considered as an "upload" for the purpose of upload * transfer limit calculation, so its size is added to the upload count for * the owner. * * @param noteGuid * The GUID of the Note to copy. * * @param toNotebookGuid * The GUID of the Notebook that should receive the new Note. * * @return * The metadata for the new Note that was created. This will include the * new GUID for this Note (and any copied Resources), but will not include * the content body or the binary bodies of any Resources. * * @throws EDAMUserException

          *
        • LIMIT_REACHED "Note" - at max number per account *
        • *
        • PERMISSION_DENIED "Notebook.guid" - destination not owned by user *
        • *
        • PERMISSION_DENIED "Note" - user doesn't own *
        • *
        • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Notebook.guid" - not found, by GUID *
        • *
        */ public com.evernote.edam.type.Note copyNote(String authenticationToken, String noteGuid, String toNotebookGuid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns a list of the prior versions of a particular note that are * saved within the service. These prior versions are stored to provide a * recovery from unintentional removal of content from a note. The identifiers * that are returned by this call can be used with getNoteVersion to retrieve * the previous note. * The identifiers will be listed from the most recent versions to the oldest. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public List listNoteVersions(String authenticationToken, String noteGuid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * This can be used to retrieve a previous version of a Note after it has been * updated within the service. The caller must identify the note (via its * guid) and the version (via the updateSequenceNumber of that version). * to find a listing of the stored version USNs for a note, call * listNoteVersions. * This call is only available for notes in Premium accounts. (I.e. access * to past versions of Notes is a Premium-only feature.) * * @param noteGuid * The GUID of the note to be retrieved. * * @param updateSequenceNum * The USN of the version of the note that is being retrieved * * @param withResourcesData * If true, any Resource elements in this Note will include the binary * contents of their 'data' field's body. * * @param withResourcesRecognition * If true, any Resource elements will include the binary contents of the * 'recognition' field's body if recognition data is present. * * @param withResourcesAlternateData * If true, any Resource elements in this Note will include the binary * contents of their 'alternateData' fields' body, if an alternate form * is present. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        • PERMISSION_DENIED "updateSequenceNum" - * The account isn't permitted to access previous versions of notes. * (i.e. this is a Free account.) *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        • "Note.updateSequenceNumber" - the Note doesn't have a version with * the corresponding USN. *
        • *
        */ public com.evernote.edam.type.Note getNoteVersion(String authenticationToken, String noteGuid, int updateSequenceNum, boolean withResourcesData, boolean withResourcesRecognition, boolean withResourcesAlternateData) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the current state of the resource in the service with the * provided GUID. * If the Resource is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). Only the * keys for the applicationData will be returned. * * @param guid * The GUID of the resource to be retrieved. * * @param withData * If true, the Resource will include the binary contents of the * 'data' field's body. * * @param withRecognition * If true, the Resource will include the binary contents of the * 'recognition' field's body if recognition data is present. * * @param withAttributes * If true, the Resource will include the attributes * * @param withAlternateData * If true, the Resource will include the binary contents of the * 'alternateData' field's body, if an alternate form is present. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        */ public com.evernote.edam.type.Resource getResource(String authenticationToken, String guid, boolean withData, boolean withRecognition, boolean withAttributes, boolean withAlternateData) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Get all of the application data for the Resource identified by GUID, * with values returned within the LazyMap fullMap field. * If there are no applicationData entries, then a LazyMap * with an empty fullMap will be returned. If your application * only needs to fetch its own applicationData entry, use * getResourceApplicationDataEntry instead. */ public com.evernote.edam.type.LazyMap getResourceApplicationData(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Get the value of a single entry in the applicationData map * for the Resource identified by GUID. * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - Resource not found, by GUID
        • *
        • "ResourceAttributes.applicationData.key" - Resource not found, by key
        • *
        */ public String getResourceApplicationDataEntry(String authenticationToken, String guid, String key) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Update, or create, an entry in the applicationData map for * the Resource identified by guid. */ public int setResourceApplicationDataEntry(String authenticationToken, String guid, String key, String value) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Remove an entry identified by 'key' from the applicationData map for * the Resource identified by 'guid'. */ public int unsetResourceApplicationDataEntry(String authenticationToken, String guid, String key) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Submit a set of changes to a resource to the service. This can be used * to update the meta-data about the resource, but cannot be used to change * the binary contents of the resource (including the length and hash). These * cannot be changed directly without creating a new resource and removing the * old one via updateNote. * * @param resource * A Resource object containing the desired fields to be populated on * the service. The service will attempt to update the resource with the * following fields from the client: *
          *
        • guid: must be provided to identify the resource *
        • *
        • mime *
        • *
        • width *
        • *
        • height *
        • *
        • duration *
        • *
        • attributes: optional. if present, the set of attributes will * be replaced. *
        • *
        * * @return * The Update Sequence Number of the resource after the changes have been * applied. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type *
        • *
        • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string *
        • *
        • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        */ public int updateResource(String authenticationToken, com.evernote.edam.type.Resource resource) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns binary data of the resource with the provided GUID. For * example, if this were an image resource, this would contain the * raw bits of the image. * If the Resource is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the resource to be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        */ public byte[] getResourceData(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the current state of a resource, referenced by containing * note GUID and resource content hash. * * @param noteGuid * The GUID of the note that holds the resource to be retrieved. * * @param contentHash * The MD5 checksum of the resource within that note. Note that * this is the binary checksum, for example from Resource.data.bodyHash, * and not the hex-encoded checksum that is used within an en-media * tag in a note body. * * @param withData * If true, the Resource will include the binary contents of the * 'data' field's body. * * @param withRecognition * If true, the Resource will include the binary contents of the * 'recognition' field's body. * * @param withAlternateData * If true, the Resource will include the binary contents of the * 'alternateData' field's body, if an alternate form is present. * * @throws EDAMUserException
          *
        • DATA_REQUIRED "Note.guid" - noteGuid param missing *
        • *
        • DATA_REQUIRED "Note.contentHash" - contentHash param missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note" - not found, by guid *
        • *
        • "Resource" - not found, by hash *
        • *
        */ public com.evernote.edam.type.Resource getResourceByHash(String authenticationToken, String noteGuid, byte[] contentHash, boolean withData, boolean withRecognition, boolean withAlternateData) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the binary contents of the recognition index for the resource * with the provided GUID. If the caller asks about a resource that has * no recognition data, this will throw EDAMNotFoundException. * If the Resource is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the resource whose recognition data should be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        • "Resource.recognition" - resource has no recognition *
        • *
        */ public byte[] getResourceRecognition(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * If the Resource with the provided GUID has an alternate data representation * (indicated via the Resource.alternateData field), then this request can * be used to retrieve the binary contents of that alternate data file. * If the caller asks about a resource that has no alternate data form, this * will throw EDAMNotFoundException. * * @param guid * The GUID of the resource whose recognition data should be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        • "Resource.alternateData" - resource has no recognition *
        • *
        */ public byte[] getResourceAlternateData(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Returns the set of attributes for the Resource with the provided GUID. * If the Resource is found in a public notebook, the authenticationToken * will be ignored (so it could be an empty string). * * @param guid * The GUID of the resource whose attributes should be retrieved. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Resource" - private resource, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Resource.guid" - not found, by GUID *
        • *
        */ public com.evernote.edam.type.ResourceAttributes getResourceAttributes(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** *

        * Looks for a user account with the provided userId on this NoteStore * shard and determines whether that account contains a public notebook * with the given URI. If the account is not found, or no public notebook * exists with this URI, this will throw an EDAMNotFoundException, * otherwise this will return the information for that Notebook. *

        *

        * If a notebook is visible on the web with a full URL like * http://www.evernote.com/pub/sethdemo/api * Then 'sethdemo' is the username that can be used to look up the userId, * and 'api' is the publicUri. *

        * * @param userId * The numeric identifier for the user who owns the public notebook. * To find this value based on a username string, you can invoke * UserStore.getPublicUserInfo * * @param publicUri * The uri string for the public notebook, from Notebook.publishing.uri. * * @throws EDAMNotFoundException
          *
        • "Publishing.uri" - not found, by URI *
        • *
        */ public com.evernote.edam.type.Notebook getPublicNotebook(int userId, String publicUri) throws com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; /** * Used to construct a shared notebook object. The constructed notebook will * contain a "share key" which serve as a unique identifer and access token * for a user to access the notebook of the shared notebook owner. * * @param sharedNotebook * An shared notebook object populated with the email address of the share * recipient, the notebook guid and the access permissions. All other * attributes of the shared object are ignored. * @return * The fully populated SharedNotebook object including the server assigned * share id and shareKey which can both be used to uniquely identify the * SharedNotebook. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "SharedNotebook.email" - if the email was not valid *
        • *
        * @throws EDAMNotFoundException
          *
        • Notebook.guid - if the notebookGuid is not a valid guid for the user *
        • *
        */ public com.evernote.edam.type.SharedNotebook createSharedNotebook(String authenticationToken, com.evernote.edam.type.SharedNotebook sharedNotebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Update a SharedNotebook object. * * @param authenticationToken * Must be an authentication token from the owner or a shared notebook * authentication token with sufficient permissions to change invitations * for a notebook. * * @param sharedNotebook * The SharedNotebook object containing the requested changes. * The "id" of the shared notebook must be set to allow the service * to identify the SharedNotebook to be updated. In addition, you MUST set * the email, permission, and allowPreview fields to the desired values. * All other fields will be ignored if set. * * @return * The Update Serial Number for this change within the account. * * @throws EDAMUserException
          *
        • UNSUPPORTED_OPERATION "updateSharedNotebook" - if this service instance does not support shared notebooks.
        • *
        • BAD_DATA_FORMAT "SharedNotebook.email" - if the email was not valid.
        • *
        • DATA_REQUIRED "SharedNotebook.id" - if the id field was not set.
        • *
        • DATA_REQUIRED "SharedNotebook.privilege" - if the privilege field was not set.
        • *
        • DATA_REQUIRED "SharedNotebook.allowPreview" - if the allowPreview field was not set.
        • *
        * @throws EDAMNotFoundException
          *
        • SharedNotebook.id - if no shared notebook with the specified ID was found. *
        */ public int updateSharedNotebook(String authenticationToken, com.evernote.edam.type.SharedNotebook sharedNotebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Send a reminder message to some or all of the email addresses that a notebook has been * shared with. The message includes the current link to view the notebook. * @param authenticationToken * The auth token of the user with permissions to share the notebook * @param notebookGuid * The guid of the shared notebook * @param messageText * User provided text to include in the email * @param recipients * The email addresses of the recipients. If this list is empty then all of the * users that the notebook has been shared with are emailed. * If an email address doesn't correspond to share invite members then that address * is ignored. * @return * The number of messages sent * @throws EDAMUserException
          *
        • LIMIT_REACHED "(recipients)" - * The email can't be sent because this would exceed the user's daily * email limit. *
        • *
        • PERMISSION_DENIED "Notebook" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Notebook.guid" - not found, by GUID *
        • *
        */ public int sendMessageToSharedNotebookMembers(String authenticationToken, String notebookGuid, String messageText, List recipients) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Lists the collection of shared notebooks for all notebooks in the * users account. * * @return * The list of all SharedNotebooks for the user */ public List listSharedNotebooks(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Expunges the SharedNotebooks in the user's account using the * SharedNotebook.id as the identifier. *

        * NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param * sharedNotebookIds - a list of ShardNotebook.id longs identifying the * objects to delete permanently. * * @return * The account's update sequence number. */ public int expungeSharedNotebooks(String authenticationToken, List sharedNotebookIds) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the service to make a linked notebook with the provided name, username * of the owner and identifiers provided. A linked notebook can be either a * link to a public notebook or to a private shared notebook. * * @param linkedNotebook * The desired fields for the linked notebook must be provided on this * object. The name of the linked notebook must be set. Either a username * uri or a shard id and share key must be provided otherwise a * EDAMUserException is thrown. * * @return * The newly created LinkedNotebook. The server-side id will be * saved in this object's 'id' field. * * @throws EDAMUserException

          *
        • BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern *
        • *
        • BAD_DATA_FORMAT "LinkedNotebook.username" - bad username format *
        • *
        • BAD_DATA_FORMAT "LinkedNotebook.uri" - * if public notebook set but bad uri *
        • *
        • BAD_DATA_FORMAT "LinkedNotebook.shareKey" - * if private notebook set but bad shareKey *
        • *
        • DATA_REQUIRED "LinkedNotebook.shardId" - * if private notebook but shard id not provided *
        • *
        */ public com.evernote.edam.type.LinkedNotebook createLinkedNotebook(String authenticationToken, com.evernote.edam.type.LinkedNotebook linkedNotebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * @param linkedNotebook * Updates the name of a linked notebook. * * @return * The Update Sequence Number for this change within the account. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern *
        • *
        */ public int updateLinkedNotebook(String authenticationToken, com.evernote.edam.type.LinkedNotebook linkedNotebook) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Returns a list of linked notebooks */ public List listLinkedNotebooks(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Permanently expunges the linked notebook from the account. *

        * NOTE: This function is not available to third party applications. * Calls will result in an EDAMUserException with the error code * PERMISSION_DENIED. * * @param guid * The LinkedNotebook.guid field of the LinkedNotebook to permanently remove * from the account. */ public int expungeLinkedNotebook(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the service to produce an authentication token that can be used to * access the contents of a shared notebook from someone else's account. * This authenticationToken can be used with the various other NoteStore * calls to find and retrieve notes, and if the permissions in the shared * notebook are sufficient, to make changes to the contents of the notebook. * * @param shareKey * The 'shareKey' identifier from the SharedNotebook that was granted to * some recipient. This string internally encodes the notebook identifier * and a security signature. * * @param authenticationToken * If a non-empty string is provided, this is the full user-based * authentication token that identifies the user who is currently logged in * and trying to access the shared notebook. This may be required if the * notebook was created with 'requireLogin'. * If this string is empty, the service will attempt to authenticate to the * shared notebook without any logged in user. * * @throws EDAMSystemException

          *
        • BAD_DATA_FORMAT "shareKey" - invalid shareKey string *
        • *
        • INVALID_AUTH "shareKey" - bad signature on shareKey string *
        • *
        * * @throws EDAMNotFoundException
          *
        • "SharedNotebook.id" - the shared notebook no longer exists *
        • *
        * * @throws EDAMUserException
          *
        • DATA_REQUIRED "authenticationToken" - the share requires login, and * no valid authentication token was provided. *
        • *
        • PERMISSION_DENIED "SharedNotebook.username" - share requires login, * and another username has already been bound to this notebook. *
        • *
        */ public com.evernote.edam.userstore.AuthenticationResult authenticateToSharedNotebook(String shareKey, String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * This function is used to retrieve extended information about a shared * notebook by a guest who has already authenticated to access that notebook. * This requires an 'authenticationToken' parameter which should be the * resut of a call to authenticateToSharedNotebook(...). * I.e. this is the token that gives access to the particular shared notebook * in someone else's account -- it's not the authenticationToken for the * owner of the notebook itself. * * @param authenticationToken * Should be the authentication token retrieved from the reply of * authenticateToSharedNotebook(), proving access to a particular shared * notebook. * * @throws EDAMUserException
          *
        • PERMISSION_DENIED "authenticationToken" - * authentication token doesn't correspond to a valid shared notebook *
        • *
        * * @throws EDAMNotFoundException
          *
        • "SharedNotebook.id" - the shared notebook no longer exists *
        • *
        */ public com.evernote.edam.type.SharedNotebook getSharedNotebookByAuth(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Attempts to send a single note to one or more email recipients. * * @param authenticationToken * The note will be sent as the user logged in via this token, using that * user's registered email address. If the authenticated user doesn't * have permission to read that note, the emailing will fail. * * @param parameters * The note must be specified either by GUID (in which case it will be * sent using the existing data in the service), or else the full Note * must be passed to this call. This also specifies the additional * email fields that will be used in the email. * * @throws EDAMUserException
          *
        • LIMIT_REACHED "NoteEmailParameters.toAddresses" - * The email can't be sent because this would exceed the user's daily * email limit. *
        • *
        • BAD_DATA_FORMAT "(email address)" - * email address malformed *
        • *
        • DATA_REQUIRED "NoteEmailParameters.toAddresses" - * if there are no To: or Cc: addresses provided. *
        • *
        • DATA_REQUIRED "Note.title" - * if the caller provides a Note parameter with no title *
        • *
        • DATA_REQUIRED "Note.content" - * if the caller provides a Note parameter with no content *
        • *
        • ENML_VALIDATION "*" - note content doesn't validate against DTD *
        • *
        • DATA_REQUIRED "NoteEmailParameters.note" - * if no guid or note provided *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public void emailNote(String authenticationToken, NoteEmailParameters parameters) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * If this note is not already shared (via its own direct URL), then this * will start sharing that note. * This will return the secret "Note Key" for this note that * can currently be used in conjunction with the Note's GUID to gain direct * read-only access to the Note. * If the note is already shared, then this won't make any changes to the * note, and the existing "Note Key" will be returned. The only way to change * the Note Key for an existing note is to stopSharingNote first, and then * call this function. * * @param guid * The GUID of the note to be shared. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public String shareNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * If this note is not already shared then this will stop sharing that note * and invalidate its "Note Key", so any existing URLs to access that Note * will stop working. * If the Note is not shared, then this function will do nothing. * * @param guid * The GUID of the note to be un-shared. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing *
        • *
        • PERMISSION_DENIED "Note" - private note, user doesn't own *
        • *
        * * @throws EDAMNotFoundException
          *
        • "Note.guid" - not found, by GUID *
        • *
        */ public void stopSharingNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Asks the service to produce an authentication token that can be used to * access the contents of a single Note which was individually shared * from someone's account. * This authenticationToken can be used with the various other NoteStore * calls to find and retrieve the Note and its directly-referenced children. * * @param guid * The GUID identifying this Note on this shard. * * @param noteKey * The 'noteKey' identifier from the Note that was originally created via * a call to shareNote() and then given to a recipient to access. * * @throws EDAMUserException
          *
        • PERMISSION_DENIED "Note" - the Note with that GUID is either not * shared, or the noteKey doesn't match the current key for this note *
        • *
        * * @throws EDAMNotFoundException
          *
        • "guid" - the note with that GUID is not found *
        • *
        */ public com.evernote.edam.userstore.AuthenticationResult authenticateToSharedNote(String guid, String noteKey) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMNotFoundException, com.evernote.edam.error.EDAMSystemException, TException; /** * Identify related entities on the service, such as notes, * notebooks, and tags related to notes or content. * * @param query * The information about which we are finding related entities. * * @param resultSpec * Allows the client to indicate the type and quantity of * information to be returned, allowing a saving of time and * bandwidth. * * @return * The result of the query, with information considered * to likely be relevantly related to the information * described by the query. * * @throws EDAMUserException
          *
        • BAD_DATA_FORMAT "RelatedQuery.plainText" - If you provided a * a zero-length plain text value. *
        • *
        • BAD_DATA_FORMAT "RelatedQuery.noteGuid" - If you provided an * invalid Note GUID, that is, one that does not match the constraints * defined by EDAM_GUID_LEN_MIN, EDAM_GUID_LEN_MAX, EDAM_GUID_REGEX. *
        • *
        • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed *
        • *
        • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed *
        • *
        • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long *
        • *
        • PERMISSION_DENIED "Note" - If the caller does not have access to * the note identified by RelatedQuery.noteGuid. *
        • *
        • DATA_REQUIRED "RelatedResultSpec" - If you did not not set any values * in the result spec. *
        • *
        * * @throws EDAMNotFoundException
          *
        • "RelatedQuery.noteGuid" - the note with that GUID is not * found, if that field has been set in the query. *
        • *
        */ public RelatedResult findRelated(String authenticationToken, RelatedQuery query, RelatedResultSpec resultSpec) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy