package com.alexrnl.jbetaseries.request.episodes;

import com.alexrnl.jbetaseries.request.APIAddresses;
import com.alexrnl.jbetaseries.request.Request;
import com.alexrnl.jbetaseries.request.Verb;
import com.alexrnl.jbetaseries.request.parameters.Bulk;
import com.alexrnl.jbetaseries.request.parameters.Id;

/**
 * Request which allow to mark episodes as seen.<br />
 * @author Alex
 */
public class EpisodeWatched extends Request {
	
	/**
	 * Constructor #1.<br />
	 * @param episodeId
	 *        the id of the episode to mark as seen.
	 * @param bulk
	 *        <code>true</code> if the previous episode (i.e. from previous seasons) should be also
	 *        marked as seen.
	 */
	public EpisodeWatched (final Integer episodeId, final boolean bulk) {
		super(Verb.POST, APIAddresses.EPISODES_WATCHED);
		addParameter(new Id(episodeId));
		if (bulk) {
			addParameter(new Bulk());
		}
	}
	
	/**
	 * Constructor #2.<br />
	 * This will mark <em>all</em> previous episodes as seen.
	 * @param episodeId the id of the episode to mark as seen.
	 * @see #EpisodeWatched(Integer, boolean)
	 */
	public EpisodeWatched (final Integer episodeId) {
		this(episodeId, true);
	}
	
}

@@ -299,16 +299,72 @@
 ters.Id;
+%0Aimport com.alexrnl.jbetaseries.request.parameters.Note;
 %0A%0A/**%0A *
@@ -726,16 +726,68 @@
 s seen.%0A
+%09 * @param note%0A%09 *        the note of the episode.%0A
 %09 */%0A%09pu
@@ -846,24 +846,44 @@
 boolean bulk
+, final Integer note
 ) %7B%0A%09%09super(
@@ -1007,16 +1007,75 @@
 ));%0A%09%09%7D%0A
+%09%09if (note != null) %7B%0A%09%09%09addParameter(new Note(note));%0A%09%09%7D%0A
 %09%7D%0A%09%0A%09/*
@@ -1181,16 +1181,424 @@
 pisodeId
+%0A%09 *        the id of the episode to mark as seen.%0A%09 * @param note%0A%09 *        the note of the episode.%0A%09 * @see #EpisodeWatched(Integer, boolean, Integer)%0A%09 */%0A%09public EpisodeWatched (final Integer episodeId, final Integer note) %7B%0A%09%09this(episodeId, true, note);%0A%09%7D%0A%09%0A%09/**%0A%09 * Constructor #3.%3Cbr /%3E%0A%09 * This will mark %3Cem%3Eall%3C/em%3E previous episodes as seen and leave it unoted.%0A%09 * @param episodeId%0A%09 *       
  the id 
@@ -1670,16 +1670,25 @@
  boolean
+, Integer
 )%0A%09 */%0A%09
@@ -1755,20 +1755,20 @@
 sodeId, 
-true
+null
 );%0A%09%7D%0A%09%0A

Add note parameter to episode/watched request