All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.epam.jdi.light.elements.complex.IList Maven / Gradle / Ivy
package com.epam.jdi.light.elements.complex;
/**
* Created by Roman Iovlev on 14.02.2018
* Email: [email protected] ; Skype: roman.iovlev
*/
import com.epam.jdi.light.common.JDIAction;
import com.epam.jdi.light.elements.interfaces.HasValue;
import com.epam.jdi.tools.LinqUtils;
import com.epam.jdi.tools.func.JAction1;
import com.epam.jdi.tools.func.JFunc1;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import static com.epam.jdi.light.logger.LogLevels.DEBUG;
public interface IList extends List, HasValue {
/**
* Get all application elements
@JDIAction(level = DEBUG)
MapArray getMap();*/
@JDIAction(level = DEBUG)
List elements();
@JDIAction(level = DEBUG)
default T last() {
return elements().get(size()-1);
}
@JDIAction(level = DEBUG)
default T first() {
return elements().get(0);
}
@JDIAction(level = DEBUG, value = "Filter")
default List where(JFunc1 condition) {
return LinqUtils.where(elements(),condition);
}
@JDIAction(level = DEBUG, value = "Filter")
default List filter(JFunc1 condition) {
return where(condition);
}
@JDIAction(level = DEBUG, value = "Map")
default List select(JFunc1 transform) {
return LinqUtils.select(elements(), transform);
}
@JDIAction(level = DEBUG, value = "Filter")
default List map(JFunc1 transform) {
return select(transform);
}
@JDIAction(level = DEBUG, value = "First")
default T first(JFunc1 condition) {
return LinqUtils.first(elements(), condition);
}
@JDIAction(level = DEBUG, value = "Last")
default T last(JFunc1 condition) {
return LinqUtils.last(elements(), condition);
}
@JDIAction(level = DEBUG, value = "Do actions with condition")
default void ifDo(JFunc1 condition, JAction1 action) {
LinqUtils.ifDo(elements(), condition, action);
}
@JDIAction(level = DEBUG, value = "Select elements that meet condition")
default List ifSelect(JFunc1 condition, JFunc1 transform) {
return LinqUtils.ifSelect(elements(), condition, transform);
}
@JDIAction(level = DEBUG, value = "For each element")
default void foreach(JAction1 action) {
LinqUtils.foreach(elements(), action);
}
@JDIAction(level = DEBUG, value = "Is any of elements meet condition")
default boolean any(JFunc1 condition) {
return LinqUtils.any(elements(), condition);
}
@JDIAction(level = DEBUG, value = "Is all of elements meet condition")
default boolean all(JFunc1 condition) {
return LinqUtils.all(elements(), condition);
}
@JDIAction(level = DEBUG)
default List slice(int from) {
return slice(from, elements().size() - 1);
}
default void refresh() { clear(); }
@JDIAction(level = DEBUG)
default List slice(int from, int to) {
return LinqUtils.listCopy(elements(), from, to);
}
@JDIAction(level = DEBUG, value = "Select Many")
default List selectMany(JFunc1> func) {
return LinqUtils.selectMany(elements(), func);
}
@JDIAction(level = DEBUG)
default int size() {
return elements().size();
}
@JDIAction(level = DEBUG)
default boolean isEmpty() {
return elements().isEmpty();
}
@JDIAction(level = DEBUG)
default boolean any() { return !isEmpty(); }
// List methods
@Override
default boolean contains(Object o) {
return elements().contains(o);
}
@Override
default Iterator iterator() {
return elements().iterator();
}
@Override
default Object[] toArray() {
return elements().toArray();
}
@Override
default T1[] toArray(T1[] a) {
return elements().toArray(a);
}
@Override
default boolean add(T t) {
throw new NotImplementedException();
}
@Override
default boolean remove(Object o) {
throw new NotImplementedException();
}
@Override
default boolean containsAll(Collection c) {
return elements().containsAll(c);
}
@Override
default boolean addAll(Collection c) {
throw new NotImplementedException();
}
@Override
default boolean addAll(int index, Collection c) {
throw new NotImplementedException();
}
@Override
default boolean removeAll(Collection c) {
throw new NotImplementedException();
}
@Override
default boolean retainAll(Collection c) {
throw new NotImplementedException();
}
@Override
@JDIAction(level = DEBUG)
default T get(int index) {
return elements().get(index);
}
@Override
default T set(int index, T element) {
throw new NotImplementedException();
}
@Override
default void add(int index, T element) {
throw new NotImplementedException();
}
@Override
default T remove(int index) {
return elements().remove(index);
}
@Override
default int indexOf(Object o) {
return elements().indexOf(o);
}
@Override
default int lastIndexOf(Object o) {
return elements().lastIndexOf(o);
}
@Override
default ListIterator listIterator() {
return elements().listIterator();
}
@Override
default ListIterator listIterator(int index) {
return elements().listIterator(index);
}
@Override
default List subList(int fromIndex, int toIndex) {
return slice(fromIndex, toIndex);
}
}