From 47165456cabe463a66518453fa81d6e4bfecd3c0 Mon Sep 17 00:00:00 2001 From: fros4943 Date: Mon, 11 Feb 2008 14:02:29 +0000 Subject: [PATCH] added unknown variable exception + method for fetching integer size --- .../java/se/sics/cooja/AddressMemory.java | 100 ++++++++++-------- 1 file changed, 55 insertions(+), 45 deletions(-) diff --git a/tools/cooja/java/se/sics/cooja/AddressMemory.java b/tools/cooja/java/se/sics/cooja/AddressMemory.java index d6f1a82f7..f50cac2d7 100644 --- a/tools/cooja/java/se/sics/cooja/AddressMemory.java +++ b/tools/cooja/java/se/sics/cooja/AddressMemory.java @@ -1,7 +1,7 @@ /* * Copyright (c) 2006, Swedish Institute of Computer Science. All rights * reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, @@ -12,7 +12,7 @@ * Institute nor the names of its contributors may be used to endorse or promote * products derived from this software without specific prior written * permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -23,8 +23,8 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $Id: AddressMemory.java,v 1.1 2007/02/02 11:02:14 fros4943 Exp $ + * + * $Id: AddressMemory.java,v 1.2 2008/02/11 14:02:29 fros4943 Exp $ */ package se.sics.cooja; @@ -38,78 +38,88 @@ public interface AddressMemory { /** * Checks if given variable exists in memory. - * + * * @param varName Variable name * @return True if variable exists, false otherwise */ public boolean variableExists(String varName); - + /** * Returns address of variable with given name. - * - * @param varName - * Variable name - * @return Address of given variable, or -1 + * + * @param varName Variable name + * @return Variable address + * @throws UnknownVariableException Variable does not exist */ - public int getVariableAddress(String varName); + public int getVariableAddress(String varName) throws UnknownVariableException; /** * Returns a value of the byte variable with the given name. - * - * @param varName - * Name of byte variable + * + * @param varName Name of byte variable * @return Value of byte variable + * @throws UnknownVariableException Variable does not exist */ - public byte getByteValueOf(String varName); + public byte getByteValueOf(String varName) throws UnknownVariableException; /** * Set byte value of variable with given name. - * - * @param varName - * Name of byte variable - * @param newVal - * New value to set + * + * @param varName Name of byte variable + * @param newVal New value of byte + * @throws UnknownVariableException Variable does not exist */ - public void setByteValueOf(String varName, byte newVal); + public void setByteValueOf(String varName, byte newVal) throws UnknownVariableException; /** * Returns byte array of given length and with the given name. - * - * @param varName - * Name of array - * @param length - * Length of array + * + * @param varName Name of array + * @param length Length of array * @return Data of array + * @throws UnknownVariableException Variable does not exist */ - public byte[] getByteArray(String varName, int length); + public byte[] getByteArray(String varName, int length) throws UnknownVariableException; /** * Set byte array of the variable with the given name. - * - * @param varName - * Name of array - * @param data - * New data of array + * + * @param varName Name of array + * @param data New data of array + * @throws UnknownVariableException Variable does not exist */ - public void setByteArray(String varName, byte[] data); + public void setByteArray(String varName, byte[] data) throws UnknownVariableException; + + /** + * @return Number of bytes in an integer + */ + public int getIntegerLength(); /** * Returns a value of the integer variable with the given name. - * - * @param varName - * Name of integer variable + * + * @param varName Name of integer variable * @return Value of integer variable + * @throws UnknownVariableException Variable does not exist */ - public int getIntValueOf(String varName); - + public int getIntValueOf(String varName) throws UnknownVariableException; + /** * Set integer value of variable with given name. - * - * @param varName - * Name of integer variable - * @param newVal - * New value to set + * + * @param varName Name of integer variable + * @param newVal New integer value + * @throws UnknownVariableException Variable does not exist */ - public void setIntValueOf(String varName, int newVal); - + public void setIntValueOf(String varName, int newVal) throws UnknownVariableException; + + /** + * Unknown variable name exception. + */ + public class UnknownVariableException extends RuntimeException { + public UnknownVariableException(String varName) { + super("Unknown variable name: " + varName); + } + } + }