PageRenderTime 62ms CodeModel.GetById 2ms app.highlight 47ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/com/evernote/edam/notestore/NoteStoreIface.java

http://github.com/evernote/evernote-sdk-java
Java | 2012 lines | 86 code | 80 blank | 1846 comment | 0 complexity | f97fbc8568cb4207debddaa17557b886 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1/**
   2 * Autogenerated by Thrift
   3 *
   4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   5 */
   6package com.evernote.edam.notestore;
   7
   8import java.util.List;
   9import java.util.ArrayList;
  10import java.util.Map;
  11import java.util.HashMap;
  12import java.util.Set;
  13import java.util.HashSet;
  14
  15import com.evernote.thrift.*;
  16import com.evernote.thrift.protocol.*;
  17
  18public interface NoteStoreIface {
  19
  20  /**
  21   * Asks the NoteStore to provide information about the status of the user
  22   * account corresponding to the provided authentication token.
  23   */
  24  public SyncState getSyncState(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
  25
  26  /**
  27   * Asks the NoteStore to provide information about the status of the user
  28   * account corresponding to the provided authentication token.
  29   * This version of 'getSyncState' allows the client to upload coarse-
  30   * grained usage metrics to the service.
  31   * 
  32   * @param clientMetrics  see the documentation of the ClientUsageMetrics
  33   *   structure for an explanation of the fields that clients can pass to
  34   *   the service.
  35   */
  36  public SyncState getSyncStateWithMetrics(String authenticationToken, ClientUsageMetrics clientMetrics) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
  37
  38  /**
  39   * DEPRECATED - use getFilteredSyncChunk.
  40   */
  41  public SyncChunk getSyncChunk(String authenticationToken, int afterUSN, int maxEntries, boolean fullSyncOnly) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
  42
  43  /**
  44   * Asks the NoteStore to provide the state of the account in order of
  45   * last modification.  This request retrieves one block of the server's
  46   * state so that a client can make several small requests against a large
  47   * account rather than getting the entire state in one big message.
  48   * This call gives fine-grained control of the data that will
  49   * be received by a client by omitting data elements that a client doesn't
  50   * need. This may reduce network traffic and sync times.
  51   * 
  52   * @param afterUSN
  53   *   The client can pass this value to ask only for objects that
  54   *   have been updated after a certain point.  This allows the client to
  55   *   receive updates after its last checkpoint rather than doing a full
  56   *   synchronization on every pass.  The default value of "0" indicates
  57   *   that the client wants to get objects from the start of the account.
  58   * 
  59   * @param maxEntries
  60   *   The maximum number of modified objects that should be
  61   *   returned in the result SyncChunk.  This can be used to limit the size
  62   *   of each individual message to be friendly for network transfer.
  63   * 
  64   * @param filter
  65   *   The caller must set some of the flags in this structure to specify which
  66   *   data types should be returned during the synchronization.  See
  67   *   the SyncChunkFilter structure for information on each flag.
  68   * 
  69   * @throws EDAMUserException <ul>
  70   *   <li> BAD_DATA_FORMAT "afterUSN" - if negative
  71   *   </li>
  72   *   <li> BAD_DATA_FORMAT "maxEntries" - if less than 1
  73   *   </li>
  74   * </ul>
  75   */
  76  public SyncChunk getFilteredSyncChunk(String authenticationToken, int afterUSN, int maxEntries, SyncChunkFilter filter) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
  77
  78  /**
  79   * Asks the NoteStore to provide information about the status of a linked
  80   * notebook that has been shared with the caller, or that is public to the
  81   * world.
  82   * This will return a result that is similar to getSyncState, but may omit
  83   * SyncState.uploaded if the caller doesn't have permission to write to
  84   * the linked notebook.
  85   * 
  86   * This function must be called on the shard that owns the referenced
  87   * notebook.  (I.e. the shardId in /shard/shardId/edam/note must be the
  88   * same as LinkedNotebook.shardId.)
  89   * 
  90   * @param authenticationToken
  91   *   This should be an authenticationToken for the guest who has received
  92   *   the invitation to the share.  (I.e. this should not be the result of
  93   *   NoteStore.authenticateToSharedNotebook)
  94   * 
  95   * @param linkedNotebook
  96   *   This structure should contain identifying information and permissions
  97   *   to access the notebook in question.
  98   */
  99  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;
 100
 101  /**
 102   * Asks the NoteStore to provide information about the contents of a linked
 103   * notebook that has been shared with the caller, or that is public to the
 104   * world.
 105   * This will return a result that is similar to getSyncChunk, but will only
 106   * contain entries that are visible to the caller.  I.e. only that particular
 107   * Notebook will be visible, along with its Notes, and Tags on those Notes.
 108   * 
 109   * This function must be called on the shard that owns the referenced
 110   * notebook.  (I.e. the shardId in /shard/shardId/edam/note must be the
 111   * same as LinkedNotebook.shardId.)
 112   * 
 113   * @param authenticationToken
 114   *   This should be an authenticationToken for the guest who has received
 115   *   the invitation to the share.  (I.e. this should not be the result of
 116   *   NoteStore.authenticateToSharedNotebook)
 117   * 
 118   * @param linkedNotebook
 119   *   This structure should contain identifying information and permissions
 120   *   to access the notebook in question.  This must contain the valid fields
 121   *   for either a shared notebook (e.g. shareKey)
 122   *   or a public notebook (e.g. username, uri)
 123   * 
 124   * @param afterUSN
 125   *   The client can pass this value to ask only for objects that
 126   *   have been updated after a certain point.  This allows the client to
 127   *   receive updates after its last checkpoint rather than doing a full
 128   *   synchronization on every pass.  The default value of "0" indicates
 129   *   that the client wants to get objects from the start of the account.
 130   * 
 131   * @param maxEntries
 132   *   The maximum number of modified objects that should be
 133   *   returned in the result SyncChunk.  This can be used to limit the size
 134   *   of each individual message to be friendly for network transfer.
 135   *   Applications should not request more than 256 objects at a time,
 136   *   and must handle the case where the service returns less than the
 137   *   requested number of objects in a given request even though more
 138   *   objects are available on the service.
 139   * 
 140   * @param fullSyncOnly
 141   *   If true, then the client only wants initial data for a full sync.
 142   *   In this case, the service will not return any expunged objects,
 143   *   and will not return any Resources, since these are also provided
 144   *   in their corresponding Notes.
 145   * 
 146   * @throws EDAMUserException <ul>
 147   *   <li> BAD_DATA_FORMAT "afterUSN" - if negative
 148   *   </li>
 149   *   <li> BAD_DATA_FORMAT "maxEntries" - if less than 1
 150   *   </li>
 151   * </ul>
 152   * 
 153   * @throws EDAMNotFoundException <ul>
 154   *   <li> "LinkedNotebook" - if the provided information doesn't match any
 155   *     valid notebook
 156   *   </li>
 157   *   <li> "LinkedNotebook.uri" - if the provided public URI doesn't match any
 158   *     valid notebook
 159   *   </li>
 160   *   <li> "SharedNotebook.id" - if the provided information indicates a
 161   *      shared notebook that no longer exists
 162   *   </li>
 163   * </ul>
 164   */
 165  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;
 166
 167  /**
 168   * Returns a list of all of the notebooks in the account.
 169   */
 170  public List<com.evernote.edam.type.Notebook> listNotebooks(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
 171
 172  /**
 173   * Returns the current state of the notebook with the provided GUID.
 174   * The notebook may be active or deleted (but not expunged).
 175   * 
 176   * @param guid
 177   *   The GUID of the notebook to be retrieved.
 178   * 
 179   * @throws EDAMUserException <ul>
 180   *   <li> BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
 181   *   </li>
 182   *   <li> PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
 183   *   </li>
 184   * </ul>
 185   * 
 186   * @throws EDAMNotFoundException <ul>
 187   *   <li> "Notebook.guid" - tag not found, by GUID
 188   *   </li>
 189   * </ul>
 190   */
 191  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;
 192
 193  /**
 194   * Returns the notebook that should be used to store new notes in the
 195   * user's account when no other notebooks are specified.
 196   */
 197  public com.evernote.edam.type.Notebook getDefaultNotebook(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
 198
 199  /**
 200   * Asks the service to make a notebook with the provided name.
 201   * 
 202   * @param notebook
 203   *   The desired fields for the notebook must be provided on this
 204   *   object.  The name of the notebook must be set, and either the 'active'
 205   *   or 'defaultNotebook' fields may be set by the client at creation.
 206   *   If a notebook exists in the account with the same name (via
 207   *   case-insensitive compare), this will throw an EDAMUserException.
 208   * 
 209   * @return
 210   *   The newly created Notebook.  The server-side GUID will be
 211   *   saved in this object's 'guid' field.
 212   * 
 213   * @throws EDAMUserException <ul>
 214   *   <li> BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
 215   *   </li>
 216   *   <li> BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern
 217   *   </li>
 218   *   <li> BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
 219   *   </li>
 220   *   <li> BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
 221   *   </li>
 222   *   <li> DATA_CONFLICT "Notebook.name" - name already in use
 223   *   </li>
 224   *   <li> DATA_CONFLICT "Publishing.uri" - if URI already in use
 225   *   </li>
 226   *   <li> DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
 227   *   </li>
 228   *   <li> LIMIT_REACHED "Notebook" - at max number of notebooks
 229   *   </li>
 230   * </ul>
 231   */
 232  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;
 233
 234  /**
 235   * Submits notebook changes to the service.  The provided data must include
 236   * the notebook's guid field for identification.
 237   * 
 238   * @param notebook
 239   *   The notebook object containing the requested changes.
 240   * 
 241   * @return
 242   *   The Update Sequence Number for this change within the account.
 243   * 
 244   * @throws EDAMUserException <ul>
 245   *   <li> BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
 246   *   </li>
 247   *   <li> BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern
 248   *   </li>
 249   *   <li> BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
 250   *   </li>
 251   *   <li> BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
 252   *   </li>
 253   *   <li> DATA_CONFLICT "Notebook.name" - name already in use
 254   *   </li>
 255   *   <li> DATA_CONFLICT "Publishing.uri" - if URI already in use
 256   *   </li>
 257   *   <li> DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
 258   *   </li>
 259   * </ul>
 260   * 
 261   * @throws EDAMNotFoundException <ul>
 262   *   <li> "Notebook.guid" - not found, by GUID
 263   *   </li>
 264   * </ul>
 265   */
 266  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;
 267
 268  /**
 269   * Permanently removes the notebook from the user's account.
 270   * After this action, the notebook is no longer available for undeletion, etc.
 271   * If the notebook contains any Notes, they will be moved to the current
 272   * default notebook and moved into the trash (i.e. Note.active=false).
 273   * <p/>
 274   * NOTE: This function is generally not available to third party applications.
 275   * Calls will result in an EDAMUserException with the error code
 276   * PERMISSION_DENIED.
 277   * 
 278   * @param guid
 279   *   The GUID of the notebook to delete.
 280   * 
 281   * @return
 282   *   The Update Sequence Number for this change within the account.
 283   * 
 284   * @throws EDAMUserException <ul>
 285   *   <li> BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
 286   *   </li>
 287   *   <li> LIMIT_REACHED "Notebook" - trying to expunge the last Notebook
 288   *   </li>
 289   *   <li> PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
 290   *   </li>
 291   * </ul>
 292   */
 293  public int expungeNotebook(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 294
 295  /**
 296   * Returns a list of the tags in the account.  Evernote does not support
 297   * the undeletion of tags, so this will only include active tags.
 298   */
 299  public List<com.evernote.edam.type.Tag> listTags(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
 300
 301  /**
 302   * Returns a list of the tags that are applied to at least one note within
 303   * the provided notebook.  If the notebook is public, the authenticationToken
 304   * may be ignored.
 305   * 
 306   * @param notebookGuid
 307   *    the GUID of the notebook to use to find tags
 308   * 
 309   * @throws EDAMNotFoundException <ul>
 310   *   <li> "Notebook.guid" - notebook not found by GUID
 311   *   </li>
 312   * </ul>
 313   */
 314  public List<com.evernote.edam.type.Tag> listTagsByNotebook(String authenticationToken, String notebookGuid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 315
 316  /**
 317   * Returns the current state of the Tag with the provided GUID.
 318   * 
 319   * @param guid
 320   *   The GUID of the tag to be retrieved.
 321   * 
 322   * @throws EDAMUserException <ul>
 323   *   <li> BAD_DATA_FORMAT "Tag.guid" - if the parameter is missing
 324   *   </li>
 325   *   <li> PERMISSION_DENIED "Tag" - private Tag, user doesn't own
 326   *   </li>
 327   * </ul>
 328   * 
 329   * @throws EDAMNotFoundException <ul>
 330   *   <li> "Tag.guid" - tag not found, by GUID
 331   *   </li>
 332   * </ul>
 333   */
 334  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;
 335
 336  /**
 337   * Asks the service to make a tag with a set of information.
 338   * 
 339   * @param tag
 340   *   The desired list of fields for the tag are specified in this
 341   *   object.  The caller must specify the tag name, and may provide
 342   *   the parentGUID.
 343   * 
 344   * @return
 345   *   The newly created Tag.  The server-side GUID will be
 346   *   saved in this object.
 347   * 
 348   * @throws EDAMUserException <ul>
 349   *   <li> BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
 350   *   </li>
 351   *   <li> BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
 352   *   </li>
 353   *   <li> DATA_CONFLICT "Tag.name" - name already in use
 354   *   </li>
 355   *   <li> LIMIT_REACHED "Tag" - at max number of tags
 356   *   </li>
 357   * </ul>
 358   * 
 359   * @throws EDAMNotFoundException <ul>
 360   *   <li> "Tag.parentGuid" - not found, by GUID
 361   *   </li>
 362   * </ul>
 363   */
 364  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;
 365
 366  /**
 367   * Submits tag changes to the service.  The provided data must include
 368   * the tag's guid field for identification.  The service will apply
 369   * updates to the following tag fields:  name, parentGuid
 370   * 
 371   * @param tag
 372   *   The tag object containing the requested changes.
 373   * 
 374   * @return
 375   *   The Update Sequence Number for this change within the account.
 376   * 
 377   * @throws EDAMUserException <ul>
 378   *   <li> BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
 379   *   </li>
 380   *   <li> BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
 381   *   </li>
 382   *   <li> DATA_CONFLICT "Tag.name" - name already in use
 383   *   </li>
 384   *   <li> DATA_CONFLICT "Tag.parentGuid" - can't set parent: circular
 385   *   </li>
 386   *   <li> PERMISSION_DENIED "Tag" - user doesn't own tag
 387   *   </li>
 388   * </ul>
 389   * 
 390   * @throws EDAMNotFoundException <ul>
 391   *   <li> "Tag.guid" - tag not found, by GUID
 392   *   </li>
 393   *   <li> "Tag.parentGuid" - parent not found, by GUID
 394   *   </li>
 395   * </ul>
 396   */
 397  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;
 398
 399  /**
 400   * Removes the provided tag from every note that is currently tagged with
 401   * this tag.  If this operation is successful, the tag will still be in
 402   * the account, but it will not be tagged on any notes.
 403   * 
 404   * This function is not indended for use by full synchronizing clients, since
 405   * it does not provide enough result information to the client to reconcile
 406   * the local state without performing a follow-up sync from the service.  This
 407   * is intended for "thin clients" that need to efficiently support this as
 408   * a UI operation.
 409   * 
 410   * @param guid
 411   *   The GUID of the tag to remove from all notes.
 412   * 
 413   * @throws EDAMUserException <ul>
 414   *   <li> BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
 415   *   </li>
 416   *   <li> PERMISSION_DENIED "Tag" - user doesn't own tag
 417   *   </li>
 418   * </ul>
 419   * 
 420   * @throws EDAMNotFoundException <ul>
 421   *   <li> "Tag.guid" - tag not found, by GUID
 422   *   </li>
 423   * </ul>
 424   */
 425  public void untagAll(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 426
 427  /**
 428   * Permanently deletes the tag with the provided GUID, if present.
 429   * <p/>
 430   * NOTE: This function is generally not available to third party applications.
 431   * Calls will result in an EDAMUserException with the error code
 432   * PERMISSION_DENIED.
 433   * 
 434   * @param guid
 435   *   The GUID of the tag to delete.
 436   * 
 437   * @return
 438   *   The Update Sequence Number for this change within the account.
 439   * 
 440   * @throws EDAMUserException <ul>
 441   *   <li> BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
 442   *   </li>
 443   *   <li> PERMISSION_DENIED "Tag" - user doesn't own tag
 444   *   </li>
 445   * </ul>
 446   * 
 447   * @throws EDAMNotFoundException <ul>
 448   *   <li> "Tag.guid" - tag not found, by GUID
 449   *   </li>
 450   * </ul>
 451   */
 452  public int expungeTag(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 453
 454  /**
 455   * Returns a list of the searches in the account.  Evernote does not support
 456   * the undeletion of searches, so this will only include active searches.
 457   */
 458  public List<com.evernote.edam.type.SavedSearch> listSearches(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
 459
 460  /**
 461   * Returns the current state of the search with the provided GUID.
 462   * 
 463   * @param guid
 464   *   The GUID of the search to be retrieved.
 465   * 
 466   * @throws EDAMUserException <ul>
 467   *   <li> BAD_DATA_FORMAT "SavedSearch.guid" - if the parameter is missing
 468   *   </li>
 469   *   <li> PERMISSION_DENIED "SavedSearch" - private Tag, user doesn't own
 470   *   </li>
 471   * 
 472   * @throws EDAMNotFoundException <ul>
 473   *   <li> "SavedSearch.guid" - not found, by GUID
 474   *   </li>
 475   * </ul>
 476   */
 477  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;
 478
 479  /**
 480   * Asks the service to make a saved search with a set of information.
 481   * 
 482   * @param search
 483   *   The desired list of fields for the search are specified in this
 484   *   object. The caller must specify the name and query for the
 485   *   search, and may optionally specify a search scope.
 486   *   The SavedSearch.format field is ignored by the service.
 487   * 
 488   * @return
 489   *   The newly created SavedSearch.  The server-side GUID will be
 490   *   saved in this object.
 491   * 
 492   * @throws EDAMUserException <ul>
 493   *   <li> BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
 494   *   </li>
 495   *   <li> BAD_DATA_FORMAT "SavedSearch.query" - invalid length
 496   *   </li>
 497   *   <li> DATA_CONFLICT "SavedSearch.name" - name already in use
 498   *   </li>
 499   *   <li> LIMIT_REACHED "SavedSearch" - at max number of searches
 500   *   </li>
 501   * </ul>
 502   */
 503  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;
 504
 505  /**
 506   * Submits search changes to the service. The provided data must include
 507   * the search's guid field for identification. The service will apply
 508   * updates to the following search fields: name, query, and scope.
 509   * 
 510   * @param search
 511   *   The search object containing the requested changes.
 512   * 
 513   * @return
 514   *   The Update Sequence Number for this change within the account.
 515   * 
 516   * @throws EDAMUserException <ul>
 517   *   <li> BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
 518   *   </li>
 519   *   <li> BAD_DATA_FORMAT "SavedSearch.query" - invalid length
 520   *   </li>
 521   *   <li> DATA_CONFLICT "SavedSearch.name" - name already in use
 522   *   </li>
 523   *   <li> PERMISSION_DENIED "SavedSearch" - user doesn't own tag
 524   *   </li>
 525   * </ul>
 526   * 
 527   * @throws EDAMNotFoundException <ul>
 528   *   <li> "SavedSearch.guid" - not found, by GUID
 529   *   </li>
 530   * </ul>
 531   */
 532  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;
 533
 534  /**
 535   * Permanently deletes the saved search with the provided GUID, if present.
 536   * <p/>
 537   * NOTE: This function is generally not available to third party applications.
 538   * Calls will result in an EDAMUserException with the error code
 539   * PERMISSION_DENIED.
 540   * 
 541   * @param guid
 542   *   The GUID of the search to delete.
 543   * 
 544   * @return
 545   *   The Update Sequence Number for this change within the account.
 546   * 
 547   * @throws EDAMUserException <ul>
 548   *   <li> BAD_DATA_FORMAT "SavedSearch.guid" - if the guid parameter is empty
 549   *   </li>
 550   *   <li> PERMISSION_DENIED "SavedSearch" - user doesn't own
 551   *   </li>
 552   * </ul>
 553   * 
 554   * @throws EDAMNotFoundException <ul>
 555   *   <li> "SavedSearch.guid" - not found, by GUID
 556   *   </li>
 557   * </ul>
 558   */
 559  public int expungeSearch(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 560
 561  /**
 562   * DEPRECATED. Use findNotesMetadata.
 563   */
 564  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;
 565
 566  /**
 567   * Finds the position of a note within a sorted subset of all of the user's
 568   * notes. This may be useful for thin clients that are displaying a paginated
 569   * listing of a large account, which need to know where a particular note
 570   * sits in the list without retrieving all notes first.
 571   * 
 572   * @param authenticationToken
 573   *   Must be a valid token for the user's account unless the NoteFilter
 574   *   'notebookGuid' is the GUID of a public notebook.
 575   * 
 576   * @param filter
 577   *   The list of criteria that will constrain the notes to be returned.
 578   * 
 579   * @param guid
 580   *   The GUID of the note to be retrieved.
 581   * 
 582   * @return
 583   *   If the note with the provided GUID is found within the matching note
 584   *   list, this will return the offset of that note within that list (where
 585   *   the first offset is 0).  If the note is not found within the set of
 586   *   notes, this will return -1.
 587   * 
 588   * @throws EDAMUserException <ul>
 589   *   <li> BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX
 590   *   </li>
 591   *   <li> BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX
 592   *   </li>
 593   *   <li> BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
 594   *   </li>
 595   *   <li> BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
 596   *   </li>
 597   *   <li> BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
 598   *   </li>
 599   * 
 600   * @throws EDAMNotFoundException <ul>
 601   *   <li> "Notebook.guid" - not found, by GUID
 602   *   </li>
 603   *   <li> "Note.guid" - not found, by GUID
 604   *   </li>
 605   * </ul>
 606   */
 607  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;
 608
 609  /**
 610   * Used to find the high-level information about a set of the notes from a
 611   * user's account based on various criteria specified via a NoteFilter object.
 612   * <p/>
 613   * Web applications that wish to periodically check for new content in a user's
 614   * Evernote account should consider using webhooks instead of polling this API.
 615   * See http://dev.evernote.com/documentation/cloud/chapters/polling_notification.php
 616   * for more information.
 617   * 
 618   * @param authenticationToken
 619   *   Must be a valid token for the user's account unless the NoteFilter
 620   *   'notebookGuid' is the GUID of a public notebook.
 621   * 
 622   * @param filter
 623   *   The list of criteria that will constrain the notes to be returned.
 624   * 
 625   * @param offset
 626   *   The numeric index of the first note to show within the sorted
 627   *   results.  The numbering scheme starts with "0".  This can be used for
 628   *   pagination.
 629   * 
 630   * @param maxNotes
 631   *   The mximum notes to return in this query.  The service will return a set
 632   *   of notes that is no larger than this number, but may return fewer notes
 633   *   if needed.  The NoteList.totalNotes field in the return value will
 634   *   indicate whether there are more values available after the returned set.
 635   * 
 636   * @param resultSpec
 637   *   This specifies which information should be returned for each matching
 638   *   Note. The fields on this structure can be used to eliminate data that
 639   *   the client doesn't need, which will reduce the time and bandwidth
 640   *   to receive and process the reply.
 641   * 
 642   * @return
 643   *   The list of notes that match the criteria.
 644   * 
 645   * @throws EDAMUserException <ul>
 646   *   <li> BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX
 647   *   </li>
 648   *   <li> BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX
 649   *   </li>
 650   *   <li> BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
 651   *   </li>
 652   *   <li> BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
 653   *   </li>
 654   *   <li> BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
 655   *   </li>
 656   * </ul>
 657   * 
 658   * @throws EDAMNotFoundException <ul>
 659   *   <li> "Notebook.guid" - not found, by GUID
 660   *   </li>
 661   * </ul>
 662   */
 663  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;
 664
 665  /**
 666   * This function is used to determine how many notes are found for each
 667   * notebook and tag in the user's account, given a current set of filter
 668   * parameters that determine the current selection.  This function will
 669   * return a structure that gives the note count for each notebook and tag
 670   * that has at least one note under the requested filter.  Any notebook or
 671   * tag that has zero notes in the filtered set will not be listed in the
 672   * reply to this function (so they can be assumed to be 0).
 673   * 
 674   * @param authenticationToken
 675   *   Must be a valid token for the user's account unless the NoteFilter
 676   *   'notebookGuid' is the GUID of a public notebook.
 677   * 
 678   * @param filter
 679   *   The note selection filter that is currently being applied.  The note
 680   *   counts are to be calculated with this filter applied to the total set
 681   *   of notes in the user's account.
 682   * 
 683   * @param withTrash
 684   *   If true, then the NoteCollectionCounts.trashCount will be calculated
 685   *   and supplied in the reply. Otherwise, the trash value will be omitted.
 686   * 
 687   * @throws EDAMUserException <ul>
 688   *   <li> BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
 689   *   </li>
 690   *   <li> BAD_DATA_FORMAT "NoteFilter.notebookGuids" - if any are malformed
 691   *   </li>
 692   *   <li> BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
 693   *   </li>
 694   * 
 695   * @throws EDAMNotFoundException <ul>
 696   *   <li> "Notebook.guid" - not found, by GUID
 697   *   </li>
 698   * </ul>
 699   */
 700  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;
 701
 702  /**
 703   * Returns the current state of the note in the service with the provided
 704   * GUID.  The ENML contents of the note will only be provided if the
 705   * 'withContent' parameter is true.  The service will include the meta-data
 706   * for each resource in the note, but the binary contents of the resources
 707   * and their recognition data will be omitted.
 708   * If the Note is found in a public notebook, the authenticationToken
 709   * will be ignored (so it could be an empty string).  The applicationData
 710   * fields are returned as keysOnly.
 711   * 
 712   * @param guid
 713   *   The GUID of the note to be retrieved.
 714   * 
 715   * @param withContent
 716   *   If true, the note will include the ENML contents of its
 717   *   'content' field.
 718   * 
 719   * @param withResourcesData
 720   *   If true, any Resource elements in this Note will include the binary
 721   *   contents of their 'data' field's body.
 722   * 
 723   * @param withResourcesRecognition
 724   *   If true, any Resource elements will include the binary contents of the
 725   *   'recognition' field's body if recognition data is present.
 726   * 
 727   * @param withResourcesAlternateData
 728   *   If true, any Resource elements in this Note will include the binary
 729   *   contents of their 'alternateData' fields' body, if an alternate form
 730   *   is present.
 731   * 
 732   * @throws EDAMUserException <ul>
 733   *   <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
 734   *   </li>
 735   *   <li> PERMISSION_DENIED "Note" - private note, user doesn't own
 736   *   </li>
 737   * </ul>
 738   * 
 739   * @throws EDAMNotFoundException <ul>
 740   *   <li> "Note.guid" - not found, by GUID
 741   *   </li>
 742   * </ul>
 743   */
 744  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;
 745
 746  /**
 747   * Get all of the application data for the note identified by GUID,
 748   * with values returned within the LazyMap fullMap field.
 749   * If there are no applicationData entries, then a LazyMap
 750   * with an empty fullMap will be returned. If your application
 751   * only needs to fetch its own applicationData entry, use
 752   * getNoteApplicationDataEntry instead.
 753   */
 754  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;
 755
 756  /**
 757   * Get the value of a single entry in the applicationData map
 758   * for the note identified by GUID.
 759   * 
 760   * @throws EDAMNotFoundException <ul>
 761   *   <li> "Note.guid" - note not found, by GUID</li>
 762   *   <li> "NoteAttributes.applicationData.key" - note not found, by key</li>
 763   * </ul>
 764   */
 765  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;
 766
 767  /**
 768   * Update, or create, an entry in the applicationData map for
 769   * the note identified by guid.
 770   */
 771  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;
 772
 773  /**
 774   * Remove an entry identified by 'key' from the applicationData map for
 775   * the note identified by 'guid'. Silently ignores an unset of a
 776   * non-existing key.
 777   */
 778  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;
 779
 780  /**
 781   * Returns XHTML contents of the note with the provided GUID.
 782   * If the Note is found in a public notebook, the authenticationToken
 783   * will be ignored (so it could be an empty string).
 784   * 
 785   * @param guid
 786   *   The GUID of the note to be retrieved.
 787   * 
 788   * @throws EDAMUserException <ul>
 789   *   <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
 790   *   </li>
 791   *   <li> PERMISSION_DENIED "Note" - private note, user doesn't own
 792   *   </li>
 793   * </ul>
 794   * 
 795   * @throws EDAMNotFoundException <ul>
 796   *   <li> "Note.guid" - not found, by GUID
 797   *   </li>
 798   * </ul>
 799   */
 800  public String getNoteContent(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 801
 802  /**
 803   * Returns a block of the extracted plain text contents of the note with the
 804   * provided GUID.  This text can be indexed for search purposes by a light
 805   * client that doesn't have capabilities to extract all of the searchable
 806   * text content from the note and its resources.
 807   * 
 808   * If the Note is found in a public notebook, the authenticationToken
 809   * will be ignored (so it could be an empty string).
 810   * 
 811   * @param guid
 812   *   The GUID of the note to be retrieved.
 813   * 
 814   * @param noteOnly
 815   *   If true, this will only return the text extracted from the ENML contents
 816   *   of the note itself.  If false, this will also include the extracted text
 817   *   from any text-bearing resources (PDF, recognized images)
 818   * 
 819   * @param tokenizeForIndexing
 820   *   If true, this will break the text into cleanly separated and sanitized
 821   *   tokens.  If false, this will return the more raw text extraction, with
 822   *   its original punctuation, capitalization, spacing, etc.
 823   * 
 824   * @throws EDAMUserException <ul>
 825   *   <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
 826   *   </li>
 827   *   <li> PERMISSION_DENIED "Note" - private note, user doesn't own
 828   *   </li>
 829   * </ul>
 830   * 
 831   * @throws EDAMNotFoundException <ul>
 832   *   <li> "Note.guid" - not found, by GUID
 833   *   </li>
 834   * </ul>
 835   */
 836  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;
 837
 838  /**
 839   * Returns a block of the extracted plain text contents of the resource with
 840   * the provided GUID.  This text can be indexed for search purposes by a light
 841   * client that doesn't have capability to extract all of the searchable
 842   * text content from a resource.
 843   * 
 844   * If the Resource is found in a public notebook, the authenticationToken
 845   * will be ignored (so it could be an empty string).
 846   * 
 847   * @param guid
 848   *   The GUID of the resource to be retrieved.
 849   * 
 850   * @throws EDAMUserException <ul>
 851   *   <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
 852   *   </li>
 853   *   <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
 854   *   </li>
 855   * </ul>
 856   * 
 857   * @throws EDAMNotFoundException <ul>
 858   *   <li> "Resource.guid" - not found, by GUID
 859   *   </li>
 860   * </ul>
 861   */
 862  public String getResourceSearchText(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 863
 864  /**
 865   * Returns a list of the names of the tags for the note with the provided
 866   * guid.  This can be used with authentication to get the tags for a
 867   * user's own note, or can be used without valid authentication to retrieve
 868   * the names of the tags for a note in a public notebook.
 869   * 
 870   * @throws EDAMUserException <ul>
 871   *   <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
 872   *   </li>
 873   *   <li> PERMISSION_DENIED "Note" - private note, user doesn't own
 874   *   </li>
 875   * </ul>
 876   * 
 877   * @throws EDAMNotFoundException <ul>
 878   *   <li> "Note.guid" - not found, by GUID
 879   *   </li>
 880   * </ul>
 881   */
 882  public List<String> getNoteTagNames(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
 883
 884  /**
 885   * Asks the service to make a note with the provided set of information.
 886   * 
 887   * @param note
 888   *   A Note object containing the desired fields to be populated on
 889   *   the service.
 890   * 
 891   * @return
 892   *   The newly created Note from the service.  The server-side
 893   *   GUIDs for the Note and any Resources will be saved in this object.
 894   * 
 895   * @throws EDAMUserException <ul>
 896   *   <li> BAD_DATA_FORMAT "Note.title" - invalid length or pattern
 897   *   </li>
 898   *   <li> BAD_DATA_FORMAT "Note.content" - invalid length for ENML content
 899   *   </li>
 900   *   <li> BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
 901   *   </li>
 902   *   <li> BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
 903   *   </li>
 904   *   <li> BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
 905   *   </li>
 906   *   <li> DATA_CONFLICT "Note.deleted" - deleted time set on active note
 907   *   </li>
 908   *   <li> DATA_REQUIRED "Resource.data" - resource data body missing
 909   *   </li>
 910   *   <li> ENML_VALIDATION "*" - note content doesn't validate against DTD
 911   *   </li>
 912   *   <li> LIMIT_REACHED "Note" - at max number per account
 913   *   </li>
 914   *   <li> LIMIT_REACHED "Note.size" - total note size too large
 915   *   </li>
 916   *   <li> LIMIT_REACHED "Note.resources" - too many resources on Note
 917   *   </li>
 918   *   <li> LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
 919   *   </li>
 920   *   <li> LIMIT_REACHED "Resource.data.size" - resource too large
 921   *   </li>
 922   *   <li> LIMIT_REACHED "NoteAttribute.*" - attribute string too long
 923   *   </li>
 924   *   <li> LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
 925   *   </li>
 926   *   <li> PERMISSION_DENIED "Note.notebookGuid" - NB not owned by user
 927   *   </li>
 928   *   <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
 929   *   </li>
 930   *   <li> BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one
 931   *     of the specified tags had an invalid length or pattern
 932   *   </li>
 933   *   <li> LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required
 934   *     new tags would exceed the maximum number per account
 935   *   </li>
 936   * </ul>
 937   * 
 938   * @throws EDAMNotFoundException <ul>
 939   *   <li> "Note.notebookGuid" - not found, by GUID
 940   *   </li>
 941   * </ul>
 942   */
 943  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;
 944
 945  /**
 946   * Submit a set of changes to a note to the service.  The provided data
 947   * must include the note's guid field for identification. The note's
 948   * title must also be set.
 949   * 
 950   * @param note
 951   *   A Note object containing the desired fields to be populated on
 952   *   the service. With the exception of the note's title and guid, fields
 953   *   that are not being changed do not need to be set. If the content is not
 954   *   being modified, note.content should be left unset. If the list of
 955   *   resources is not being modified, note.resources should be left unset.
 956   * 
 957   * @return
 958   *   The metadata (no contents) for the Note on the server after the update
 959   * 
 960   * @throws EDAMUserException <ul>
 961   *   <li> BAD_DATA_FORMAT "Note.title" - invalid length or pattern
 962   *   </li>
 963   *   <li> BAD_DATA_FORMAT "Note.content" - invalid length for ENML body
 964   *   </li>
 965   *   <li> BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
 966   *   </li>
 967   *   <li> BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
 968   *   </li>
 969   *   <li> BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
 970   *   </li>
 971   *   <li> DATA_CONFLICT "Note.deleted" - deleted time set on active note
 972   *   </li>
 973   *   <li> DATA_REQUIRED "Resource.data" - resource data body missing
 974   *   </li>
 975   *   <li> ENML_VALIDATION "*" - note content doesn't validate against DTD
 976   *   </li>
 977   *   <li> LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
 978   *   </li>
 979   *   <li> LIMIT_REACHED "Note.resources" - too many resources on Note
 980   *   </li>
 981   *   <li> LIMIT_REACHED "Note.size" - total note size too large
 982   *   </li>
 983   *   <li> LIMIT_REACHED "Resource.data.size" - resource too large
 984   *   </li>
 985   *   <li> LIMIT_REACHED "NoteAttribute.*" - attribute string too long
 986   *   </li>
 987   *   <li> LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
 988   *   </li>
 989   *   <li> PERMISSION_DENIED "Note" - user doesn't own
 990   *   </li>
 991   *   <li> PERMISSION_DENIED "Note.notebookGuid" - user doesn't own destination
 992   *   </li>
 993   *   <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
 994   *   </li>
 995   *   <li> BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one
 996   *     of the specified tags had an invalid length or pattern
 997   *   </li>
 998   *   <li> LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required
 999   *     new tags would exceed the maximum number per account
1000   *   </li>
1001   * </ul>
1002   * 
1003   * @throws EDAMNotFoundException <ul>
1004   *   <li> "Note.guid" - note not found, by GUID
1005   *   </li>
1006   *   <li> "Note.notebookGuid" - if notebookGuid provided, but not found
1007   *   </li>
1008   * </ul>
1009   */
1010  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;
1011
1012  /**
1013   * Moves the note into the trash. The note may still be undeleted, unless it
1014   * is expunged.  This is equivalent to calling updateNote() after setting
1015   * Note.active = false
1016   * 
1017   * @param guid
1018   *   The GUID of the note to delete.
1019   * 
1020   * @return
1021   *   The Update Sequence Number for this change within the account.
1022   * 
1023   * @throws EDAMUserException <ul>
1024   *   <li> PERMISSION_DENIED "Note" - user doesn't have permission to
1025   *          update the note.
1026   *   </li>
1027   * </ul>
1028   * 
1029   * @throws EDAMUserException <ul>
1030   *   <li> DATA_CONFLICT "Note.guid" - the note is already deleted
1031   *   </li>
1032   * </ul>
1033   * @throws EDAMNotFoundException <ul>
1034   *   <li> "Note.guid" - not found, by GUID
1035   *   </li>
1036   * </ul>
1037   */
1038  public int deleteNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
1039
1040  /**
1041   * Permanently removes a Note, and all of its Resources,
1042   * from the service.
1043   * <p/>
1044   * NOTE: This function is not available to third party applications.
1045   * Calls will result in an EDAMUserException with the error code
1046   * PERMISSION_DENIED.
1047   * 
1048   * @param guid
1049   *   The GUID of the note to delete.
1050   * 
1051   * @return
1052   *   The Update Sequence Number for this change within the account.
1053   * 
1054   * @throws EDAMUserException <ul>
1055   *   <li> PERMISSION_DENIED "Note" - user doesn't own
1056   *   </li>
1057   * </ul>
1058   * 
1059   * @throws EDAMNotFoundException <ul>
1060   *   <li> "Note.guid" - not found, by GUID
1061   *   </li>
1062   * </ul>
1063   */
1064  public int expungeNote(String authenticationToken, String guid) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
1065
1066  /**
1067   * Permanently removes a list of Notes, and all of their Resources, from
1068   * the service.  This should be invoked with a small number of Note GUIDs
1069   * (e.g. 100 or less) on each call.  To expunge a larger number of notes,
1070   * call this method multiple times.  This should also be used to reduce the
1071   * number of Notes in a notebook before calling expungeNotebook() or
1072   * in the trash before calling expungeInactiveNotes(), since these calls may
1073   * be prohibitively slow if there are more than a few hundred notes.
1074   * If an exception is thrown for any of the GUIDs, then none of the notes
1075   * will be deleted.  I.e. this call can be treated as an atomic transaction.
1076   * <p/>
1077   * NOTE: This function is not available to third party applications.
1078   * Calls will result in an EDAMUserException with the error code
1079   * PERMISSION_DENIED.
1080   * 
1081   * @param noteGuids
1082   *   The list of GUIDs for the Notes to remove.
1083   * 
1084   * @return
1085   *   The account's updateCount at the end of this operation
1086   * 
1087   * @throws EDAMUserException <ul>
1088   *   <li> PERMISSION_DENIED "Note" - user doesn't own
1089   *   </li>
1090   * </ul>
1091   * 
1092   * @throws EDAMNotFoundException <ul>
1093   *   <li> "Note.guid" - not found, by GUID
1094   *   </li>
1095   * </ul>
1096   */
1097  public int expungeNotes(String authenticationToken, List<String> noteGuids) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, com.evernote.edam.error.EDAMNotFoundException, TException;
1098
1099  /**
1100   * Permanently removes all of the Notes that are currently marked as
1101   * inactive.  This is equivalent to "emptying the trash", and these Notes
1102   * will be gone permanently.
1103   * <p/>
1104   * This operation may be relatively slow if the account contains a large
1105   * number of inactive Notes.
1106   * <p/>
1107   * NOTE: This function is not available to third party applications.
1108   * Calls will result in an EDAMUserException with the error code
1109   * PERMISSION_DENIED.
1110   * 
1111   * @return
1112   *    The number of notes that were expunged.
1113   */
1114  public int expungeInactiveNotes(String authenticationToken) throws com.evernote.edam.error.EDAMUserException, com.evernote.edam.error.EDAMSystemException, TException;
1115
1116  /**
1117   * Performs a deep copy of the Note with the provided GUID 'noteGuid' into
1118   * the Notebook with the provided GUID 'toNotebookGuid'.
1119   * The caller must be the owner of both the Note and the Notebook.
1120   * This creates a new Note in the destination Notebook with new content and
1121   * Resources that match all of the content and Resources from the original
1122   * Note, but with new GUID identifiers.
1123   * The original Note is not modified by this operation.
1124   * The copied note is considered as an "upload" for the purpose of upload
1125   * transfer limit calculation, so its size is added to the upload count for
1126   * the owner.
1127   * 
1128   * @param noteGuid
1129   *   The GUID of the Note to copy.
1130   * 
1131   * @param toNotebookGuid
1132   *   The GUID of the Notebook that should receive the new Note.
1133   * 
1134   * @return
1135   *   The metadata for the new Note that was created.  This will include the
1136   *   new GUID for this Note (and any copied Resources), but will not include
1137   *   the content body or the binary bodies of any Resources.
1138   * 
1139   * @throws EDAMUserException <ul>
1140   *   <li> LIMIT_REACHED "Note" - at max number per account
1141   *   </li>
1142   *   <li> PERMISSION_DENIED "Notebook.guid" - destination not owned by user
1143   *   </li>
1144   *   <li> PERMISSION_DENIED "Note" - user doesn't own
1145   *   </li>
1146   *   <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
1147   *   </li>
1148   * </ul>
1149   * 
1150   * @throws EDAMNotFoundException <ul>
1151   *   <li> "Notebook.guid" - not found, by GUID
1152   *   </li>
1153   * </ul>
1154   */
1155  public com.evernote.edam.type.Note copyNote(String authenticationToken, String noteGuid, String toN

Large files files are truncated, but you can click here to view the full file