diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/transforms/SparseArrayElementAddTransform.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/transforms/SparseArrayElementAddTransform.java | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/transforms/SparseArrayElementAddTransform.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/transforms/SparseArrayElementAddTransform.java deleted file mode 100644 index b7547bc9a..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/transforms/SparseArrayElementAddTransform.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * 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.android.ide.eclipse.gltrace.state.transforms; - -import com.android.ide.eclipse.gltrace.state.GLSparseArrayProperty; -import com.android.ide.eclipse.gltrace.state.IGLProperty; - -/** - * A {@link SparseArrayElementAddTransform} changes given state by adding an - * element to a sparse array, if there is no item with the same key already. - */ -public class SparseArrayElementAddTransform implements IStateTransform { - private IGLPropertyAccessor mAccessor; - private int mKey; - private IGLProperty mOldValue; - - public SparseArrayElementAddTransform(IGLPropertyAccessor accessor, int key) { - mAccessor = accessor; - mKey = key; - } - - @Override - public void apply(IGLProperty currentState) { - GLSparseArrayProperty propertyArray = getArray(currentState); - if (propertyArray != null) { - mOldValue = propertyArray.getProperty(mKey); - if (mOldValue == null) { - // add only if there is no item with this key already present - propertyArray.add(mKey); - } - } - } - - @Override - public void revert(IGLProperty currentState) { - GLSparseArrayProperty propertyArray = getArray(currentState); - if (propertyArray != null) { - if (mOldValue == null) { - // delete only if we actually added this key - propertyArray.delete(mKey); - } - } - } - - @Override - public IGLProperty getChangedProperty(IGLProperty currentState) { - return getArray(currentState); - } - - private GLSparseArrayProperty getArray(IGLProperty state) { - IGLProperty p = state; - - if (mAccessor != null) { - p = mAccessor.getProperty(p); - } - - if (p instanceof GLSparseArrayProperty) { - return (GLSparseArrayProperty) p; - } else { - return null; - } - } -} |