public class PatchingChain<E extends Unit> extends AbstractCollection<E> implements Chain<E>
| Modifier and Type | Class and Description |
|---|---|
protected class |
PatchingChain.PatchingIterator |
| Modifier and Type | Field and Description |
|---|---|
protected Chain<E> |
innerChain |
| Constructor and Description |
|---|
PatchingChain(Chain<E> aChain)
Constructs a PatchingChain from the given Chain.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E o)
Adds the given object to this Chain.
|
void |
addFirst(E u)
Adds the given object at the beginning of the Chain.
|
void |
addLast(E u)
Adds the given object at the end of the Chain.
|
boolean |
contains(Object u)
Returns true if this patching chain contains the specified element.
|
boolean |
follows(E a,
E b)
Returns true if object
a follows object b in the Chain. |
Collection<E> |
getElementsUnsorted()
Gets all elements in the chain.
|
E |
getFirst()
Returns the first object in this Chain.
|
E |
getLast()
Returns the last object in this Chain.
|
long |
getModificationCount()
Returns the number of times this chain has been modified.
|
Chain<E> |
getNonPatchingChain()
Returns the inner chain used by the PatchingChain.
|
E |
getPredOf(E point)
Returns the object immediately preceding
point. |
E |
getSuccOf(E point)
Returns the object immediately following
point. |
void |
insertAfter(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain after point. |
void |
insertAfter(Collection<? extends E> toInsert,
E point)
Inserts
toInsert in the Chain after point. |
void |
insertAfter(E toInsert,
E point)
Inserts
toInsert in the Chain after point. |
void |
insertAfter(List<E> toInsert,
E point)
Inserts
toInsert in the Chain after point. |
void |
insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point. |
void |
insertBefore(Collection<? extends E> toInsert,
E point)
Inserts
toInsert in the Chain before point. |
void |
insertBefore(E toInsert,
E point)
Inserts
toInsert in the Chain before point. |
void |
insertBefore(List<E> toInsert,
E point)
Inserts
toInsert in the Chain before point. |
void |
insertBeforeNoRedirect(E toInsert,
E point)
Inserts
toInsert in the Chain before point WITHOUT redirecting jumps. |
Iterator<E> |
iterator()
Returns an iterator over this Chain.
|
Iterator<E> |
iterator(E u)
Returns an iterator over this Chain, starting at the given object.
|
Iterator<E> |
iterator(E head,
E tail)
Returns an iterator over this Chain, starting at head and reaching tail (inclusive).
|
boolean |
remove(Object obj)
Removes the given object from this Chain.
|
void |
removeFirst()
Removes the first object from this Chain.
|
void |
removeLast()
Removes the last object from this Chain.
|
int |
size()
Returns the size of this Chain.
|
Iterator<E> |
snapshotIterator()
Returns an iterator over a copy of this chain.
|
void |
swapWith(E out,
E in)
Replaces
out in the Chain by in. |
addAll, clear, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddAll, clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArraypublic Chain<E> getNonPatchingChain()
public boolean add(E o)
add in interface Collection<E extends Unit>add in class AbstractCollection<E extends Unit>public void insertAfter(E toInsert, E point)
toInsert in the Chain after point.insertAfter in interface Chain<E extends Unit>public void insertAfter(List<E> toInsert, E point)
toInsert in the Chain after point.insertAfter in interface Chain<E extends Unit>public void insertAfter(Chain<E> toInsert, E point)
ChaintoInsert in the Chain after point. (It would probably be better to make Chain
implement List)insertAfter in interface Chain<E extends Unit>public void insertBefore(List<E> toInsert, E point)
toInsert in the Chain before point.insertBefore in interface Chain<E extends Unit>public void insertBefore(Chain<E> toInsert, E point)
toInsert in the Chain before point.insertBefore in interface Chain<E extends Unit>public void insertBefore(E toInsert, E point)
toInsert in the Chain before point.insertBefore in interface Chain<E extends Unit>public void insertBeforeNoRedirect(E toInsert, E point)
toInsert in the Chain before point WITHOUT redirecting jumps.public boolean remove(Object obj)
public boolean contains(Object u)
contains in interface Collection<E extends Unit>contains in class AbstractCollection<E extends Unit>public void addFirst(E u)
public void addLast(E u)
public void removeFirst()
removeFirst in interface Chain<E extends Unit>public void removeLast()
removeLast in interface Chain<E extends Unit>public E getFirst()
public E getLast()
public Iterator<E> snapshotIterator()
snapshotIterator in interface Chain<E extends Unit>public Iterator<E> iterator(E u)
public Iterator<E> iterator(E head, E tail)
public int size()
public long getModificationCount()
ChaingetModificationCount in interface Chain<E extends Unit>public Collection<E> getElementsUnsorted()
ChaingetElementsUnsorted in interface Chain<E extends Unit>public void insertAfter(Collection<? extends E> toInsert, E point)
ChaintoInsert in the Chain after point.insertAfter in interface Chain<E extends Unit>public void insertBefore(Collection<? extends E> toInsert, E point)
ChaintoInsert in the Chain before point.insertBefore in interface Chain<E extends Unit>Copyright © 2020 Soot OSS. All rights reserved.