| /******************************************************************************* |
| * Copyright (c) 2009 Wind River Systems, Inc. and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Wind River Systems, Inc. - initial implementation |
| *******************************************************************************/ |
| package org.eclipse.cdt.debug.ui.memory.traditional; |
| |
| import org.eclipse.debug.core.model.MemoryByte; |
| |
| public class TraditionalMemoryByte extends MemoryByte implements IMemoryByte |
| { |
| private boolean isEdited = false; |
| |
| private boolean[] changeHistory = new boolean[0]; |
| |
| public TraditionalMemoryByte() |
| { |
| super(); |
| } |
| |
| public TraditionalMemoryByte(byte byteValue) |
| { |
| super(byteValue); |
| } |
| |
| public TraditionalMemoryByte(byte byteValue, byte byteFlags) |
| { |
| super(byteValue, byteFlags); |
| } |
| |
| public boolean isEdited() |
| { |
| return isEdited; |
| } |
| |
| public void setEdited(boolean edited) |
| { |
| isEdited = edited; |
| } |
| |
| public boolean isChanged(int historyDepth) |
| { |
| return changeHistory.length > historyDepth && changeHistory[historyDepth]; |
| } |
| |
| public void setChanged(int historyDepth, boolean changed) |
| { |
| if(historyDepth >= changeHistory.length) |
| { |
| boolean newChangeHistory[] = new boolean[historyDepth + 1]; |
| System.arraycopy(changeHistory, 0, newChangeHistory, 0, changeHistory.length); |
| changeHistory = newChangeHistory; |
| } |
| |
| changeHistory[historyDepth] = changed; |
| |
| if(historyDepth == 0) |
| this.setChanged(changed); |
| } |
| } |