Document some of SequenceProcessor's methods
This commit is contained in:
		
							parent
							
								
									923b6a8c2d
								
							
						
					
					
						commit
						f7a424e7ae
					
				
					 1 changed files with 33 additions and 2 deletions
				
			
		|  | @ -2,6 +2,14 @@ package aud.exam.prep; | ||||||
| 
 | 
 | ||||||
| import java.util.Comparator; | import java.util.Comparator; | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * Instances of this interface can work with any "valid" sequences of type <code>S</code>. | ||||||
|  |  * For what is valid, see {@link #check(S)}. | ||||||
|  |  * This is a literal translation of the "inspiration sheet" into java. | ||||||
|  |  * | ||||||
|  |  * @param <T> Type of elements stored in <code>S</code> | ||||||
|  |  * @param <S> Type of the sequence | ||||||
|  |  */ | ||||||
| public interface SequenceProcessor<T, S> { | public interface SequenceProcessor<T, S> { | ||||||
| 
 | 
 | ||||||
|     boolean find(S s, T t); |     boolean find(S s, T t); | ||||||
|  | @ -26,8 +34,6 @@ public interface SequenceProcessor<T, S> { | ||||||
| 
 | 
 | ||||||
|     T secondMax(S s, Comparator<T> cmp); |     T secondMax(S s, Comparator<T> cmp); | ||||||
| 
 | 
 | ||||||
|     boolean check(S s); |  | ||||||
| 
 |  | ||||||
|     boolean isItemWiseLessOrEqual(S a, S b, Comparator<T> cmp); |     boolean isItemWiseLessOrEqual(S a, S b, Comparator<T> cmp); | ||||||
| 
 | 
 | ||||||
|     boolean isItemWiseLess(S a, S b, Comparator<T> cmp); |     boolean isItemWiseLess(S a, S b, Comparator<T> cmp); | ||||||
|  | @ -62,7 +68,32 @@ public interface SequenceProcessor<T, S> { | ||||||
| 
 | 
 | ||||||
|     Pair<S, S> divideByPivot(S s, T pivot, Comparator<T> cmp); |     Pair<S, S> divideByPivot(S s, T pivot, Comparator<T> cmp); | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * Check whether ot not the given sequence is "valid" according to | ||||||
|  |      * what is considered valid depends on the specific data structure. | ||||||
|  |      * This is also used by the tests. | ||||||
|  |      * | ||||||
|  |      * @param s A sequence | ||||||
|  |      * @return true iff the given sequence is valid | ||||||
|  |      */ | ||||||
|  |     boolean check(S s); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Create a sequence from an {@link Iterable}. | ||||||
|  |      * This is required by the tests. | ||||||
|  |      * | ||||||
|  |      * @param iterable An {@link Iterable} | ||||||
|  |      * @return A sequence with the elements of the given iterable | ||||||
|  |      */ | ||||||
|     S create(Iterable<T> iterable); |     S create(Iterable<T> iterable); | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * Return an {@link Iterable}, or a lambda returning {@link java.util.Iterator}, | ||||||
|  |      * over the elements of the sequence <code>s</code>. | ||||||
|  |      * This is required by the tests. | ||||||
|  |      * | ||||||
|  |      * @param s A sequence | ||||||
|  |      * @return An {@link Iterable} over s | ||||||
|  |      */ | ||||||
|     Iterable<T> iterate(S s); |     Iterable<T> iterate(S s); | ||||||
| } | } | ||||||
|  |  | ||||||
		Reference in a new issue