1 /** 2 * MEDOR: Middleware Enabling Distributed Object Requests 3 * 4 * Copyright (C) 2001-2003 France Telecom R&D 5 * Contact: alexandre.lefebvre@rd.francetelecom.com 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 21 * Initial developers: M. Alia, A. Lefebvre 22 */ 23 package org.objectweb.medor.expression.lib; 24 25 import org.objectweb.medor.expression.api.Expression; 26 import org.objectweb.medor.expression.api.Operator; 27 import org.objectweb.medor.expression.api.TypingException; 28 29 public class Bitwize extends BasicUnaryArithmeticOperator { 30 31 public Bitwize() { 32 } 33 34 public Bitwize(Expression e) { 35 super(e); 36 } 37 38 public int evaluate(int op) { 39 return (-op)-1; 40 } 41 42 public int evaluate(short op) throws TypingException{ 43 throw new TypingException("~(short)"); 44 } 45 46 public long evaluate(long op) throws TypingException{ 47 throw new TypingException("~(long)"); 48 } 49 50 public float evaluate(float op) throws TypingException{ 51 throw new TypingException("~(float)"); 52 } 53 54 public int evaluate(byte op) throws TypingException{ 55 throw new TypingException("~(byte)"); 56 } 57 58 public double evaluate(double op) throws TypingException{ 59 throw new TypingException("~(double)"); 60 } 61 62 public String getOperatorString() { 63 return Operator.BITWIZE; 64 } 65 } 66