/*
 * Copyright (C) 2014 Pedro Vicente Gómez Sánchez.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.pedrogomez.renderers;

import java.util.Collection;

/**
 * Interface created to represent the adaptee collection used in RendererAdapter. RendererAdapter
 * will be created with a RendererBuilder and an AdapteeCollection that store all the content to
 * show in a list view. This library provides a default implementation of AdapteeCollection named
 * ListAdapteeCollection, use it if needed or create your own AdapteeCollections.
 *
 * @author Pedro Vicente Gómez Sánchez.
 */
public interface AdapteeCollection<T> {

  /**
   * @return size of the adaptee collection.
   */
  int size();

  /**
   * Search an element using the index passed as argument.
   *
   * @param index to search in the collection.
   * @return the element stored at index passed as argument.
   */
  T get(int index);

  /**
   * Add a new element to the adaptee collection.
   *
   * @param element to add.
   */
  void add(T element);

  /**
   * Remove one element from the adatee collection.
   */
  void remove(T element);

  /**
   * Add a element collection to the adaptee collection.
   *
   * @param elements to add.
   */
  void addAll(Collection<T> elements);

  /**
   * Remove a element collection to the adaptee collection.
   */
  void removeAll(Collection<T> elements);

  /**
   * Remove all element inside the collection.
   */
  void clear();
}

@@ -1507,28 +1507,31 @@
 dd.%0A   */%0A  
-void
+boolean
  add(T eleme
@@ -1598,28 +1598,31 @@
 on.%0A   */%0A  
-void
+boolean
  remove(T el
@@ -1735,20 +1735,23 @@
    */%0A  
-void
+boolean
  addAll(
@@ -1753,32 +1753,42 @@
 dAll(Collection%3C
+? extends 
 T%3E elements);%0A%0A 
@@ -1860,20 +1860,23 @@
    */%0A  
-void
+boolean
  removeA
@@ -1889,17 +1889,17 @@
 lection%3C
-T
+?
 %3E elemen

Make AdapteeCollection<T> compatible with List<T> interface, so any class implementing a List could be used as an AdapteeCollection by simply implementing it.