/* * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.javafx.collections; import java.util.List; import javafx.collections.ListChangeListener; import javafx.collections.ListChangeListener.Change; import javafx.collections.ObservableList; public class SourceAdapterChange extends ListChangeListener.Change { private final Change change; private int[] perm; public SourceAdapterChange(ObservableList list, Change change) { super(list); this.change = change; } @Override public boolean next() { perm = null; return change.next(); } @Override public void reset() { change.reset(); } @Override public int getTo() { return change.getTo(); } @Override public List getRemoved() { return (List) change.getRemoved(); } @Override public int getFrom() { return change.getFrom(); } @Override public boolean wasUpdated() { return change.wasUpdated(); } @Override protected int[] getPermutation() { if (perm == null) { if (change.wasPermutated()) { final int from = change.getFrom(); final int n = change.getTo() - from; perm = new int[n]; for (int i=0; i