Javolution 6.0.0 java
SortedTableView.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util.internal.table.sorted;
10 
13 
18 public abstract class SortedTableView<E> extends TableView<E> implements
20 
21  private static final long serialVersionUID = 0x600L; // Version.
22 
27  super(target);
28  }
29 
30  @Override
31  public boolean addIfAbsent(E element) {
32  if (!contains(element)) return add(element);
33  return false;
34  }
35 
36  @SuppressWarnings("unchecked")
37  @Override
38  public int indexOf(Object o) {
39  int i = positionOf((E) o);
40  if ((i >= size()) || !comparator().areEqual((E) o, get(i))) return -1;
41  return i;
42  }
43 
44  @SuppressWarnings("unchecked")
45  @Override
46  public int lastIndexOf(Object o) {
47  int i = positionOf((E) o);
48  int result = -1;
49  while ((i < size()) && comparator().areEqual((E) o, get(i))) {
50  result = i++;
51  }
52  return result;
53  }
54 
55  @Override
56  public abstract int positionOf(E element);
57 
58  @Override
60  return new SharedSortedTableImpl<E>(this);
61  }
62 
64  @Override
66  return (SortedTableService<E>) super.target();
67  }
68 
69 }
javolution.util.internal.table.sorted.SortedTableView.target
SortedTableService< E > target()
Definition: SortedTableView.java:65
javolution
javolution.util.internal
javolution.util.service
Definition: BitSetService.java:9
javolution.util.internal.table.sorted.SortedTableView.indexOf
int indexOf(Object o)
Definition: SortedTableView.java:38
javolution.util.internal.table.sorted.SortedTableView
Definition: SortedTableView.java:19
javolution.util.internal.table.sorted.SortedTableView.addIfAbsent
boolean addIfAbsent(E element)
Definition: SortedTableView.java:31
javolution.util.internal.table
Definition: AtomicTableImpl.java:9
javolution.util.internal.table.sorted.SortedTableView.positionOf
abstract int positionOf(E element)
javolution.util.internal.table.TableView
Definition: TableView.java:25
javolution.util.internal.table.sorted.SortedTableView.threadSafe
SortedTableService< E > threadSafe()
Definition: SortedTableView.java:59
javolution.util.internal.collection.CollectionView.comparator
abstract Equality<? super E > comparator()
javolution.util.internal.table.sorted.SortedTableView.SortedTableView
SortedTableView(SortedTableService< E > target)
Definition: SortedTableView.java:26
javolution.util.internal.table.TableView.add
abstract void add(int index, E element)
javolution.util.internal.table.TableView.element
final E element()
Definition: TableView.java:68
javolution.util.internal.table.TableView.size
abstract int size()
javolution.util.internal.table.sorted.SortedTableView.lastIndexOf
int lastIndexOf(Object o)
Definition: SortedTableView.java:46
javolution.util.internal.table.sorted.SortedTableView.serialVersionUID
static final long serialVersionUID
Definition: SortedTableView.java:21
javolution.util.internal.table.sorted.SharedSortedTableImpl
Definition: SharedSortedTableImpl.java:18
javolution.util.service.SortedTableService
Definition: SortedTableService.java:17
javolution.util.internal.table.TableView.contains
final boolean contains(Object o)
Definition: TableView.java:58
javolution.util
Definition: FastBitSet.java:9