Android Open Source - interdroid-swan Binary Logic Operator






From Project

Back to project page interdroid-swan.

License

The source code is released under:

Copyright (c) 2008-2011 Vrije Universiteit, The Netherlands All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the follo...

If you think the Android project interdroid-swan listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package interdroid.swan.swansong;
//from ww w  .  j av a  2 s .c  o  m

/**
 * An enumeration which represents BinaryLogicalOperators.
 * 
 * @author nick <palmer@cs.vu.nl>
 * 
 */
public enum BinaryLogicOperator implements ParseableEnum<BinaryLogicOperator>,
    LogicOperator {
  /** Logical AND. */
  AND(0, "&&"),
  /** Logical OR. */
  OR(1, "||");

  /** The converted value of this value. */
  private int mValue;

  /** The string version of the enum. */
  private String mName;

  /**
   * Construct a BinaryLogical Operator.
   * 
   * @param value
   *            the converted value.
   * @param name
   *            the name of the operator.
   */
  private BinaryLogicOperator(final int value, final String name) {
    mValue = value;
    mName = name;
  }

  @Override
  public int convert() {
    return mValue;
  }

  @Override
  public BinaryLogicOperator convertInt(final int val) {
    BinaryLogicOperator ret = null;
    for (BinaryLogicOperator op : BinaryLogicOperator.values()) {
      if (op.convert() == val) {
        ret = op;
        break;
      }
    }
    return ret;
  }

  /**
   * Parses and returns a BinaryLogicOperator.
   * 
   * @param val
   *            the string to parse
   * @return the corresponding BinaryLogicOperator
   */
  public BinaryLogicOperator parseString(final String val) {
    BinaryLogicOperator ret = null;
    for (BinaryLogicOperator op : BinaryLogicOperator.values()) {
      if (op.toParseString().equals(val)) {
        ret = op;
        break;
      }
    }
    return ret;
  }

  /**
   * Parse a string and return the value.
   * 
   * @param value
   *            the value to parse
   * @return the enum which matches the string.
   */
  public static BinaryLogicOperator parse(final String value) {
    return AND.parseString(value);
  }

  /**
   * Converts a persisted int to the matching enumeration value.
   * 
   * @param value
   *            the value to get the enumeration for
   * @return the enumeration matching this value
   */
  public static BinaryLogicOperator convert(final int value) {
    return AND.convertInt(value);
  }

  @Override
  public String toString() {
    return mName;
  }

  @Override
  public String toParseString() {
    return mName;
  }

  @Override
  public TriState operate(TriState first, TriState last) {
    if (mValue == 0) {
      // AND
      if (first == TriState.TRUE && last == TriState.TRUE) {
        return TriState.TRUE;
      } else if (first == TriState.UNDEFINED || last == TriState.UNDEFINED) {
        return TriState.UNDEFINED;
      } else {
        return TriState.FALSE;
      }
    } else if (mValue == 1) {
      // OR
      if (first == TriState.UNDEFINED && last == TriState.UNDEFINED) {
        return TriState.UNDEFINED;
      } else if (first == TriState.TRUE || last == TriState.TRUE) {
        return TriState.TRUE;
      } else {
        return TriState.FALSE;
      }
    } else {
      return TriState.UNDEFINED;
    }
  }
}




Java Source Code List

interdroid.swan.ExpressionListener.java
interdroid.swan.ExpressionManager.java
interdroid.swan.SensorConfigurationException.java
interdroid.swan.SensorInfo.java
interdroid.swan.SwanException.java
interdroid.swan.TriStateExpressionListener.java
interdroid.swan.ValueExpressionListener.java
interdroid.swan.crossdevice.Converter.java
interdroid.swan.crossdevice.CrossDeviceReceiver.java
interdroid.swan.crossdevice.Pusher.java
interdroid.swan.crossdevice.Registry.java
interdroid.swan.crossdevice.SwanGCMConstants.java
interdroid.swan.crossdevice.SwanLakeActivity.java
interdroid.swan.engine.EvaluationEngineReceiver.java
interdroid.swan.engine.EvaluationEngineService.java
interdroid.swan.engine.EvaluationManager.java
interdroid.swan.engine.ExpressionViewerActivity.java
interdroid.swan.engine.QueuedExpression.java
interdroid.swan.engine.SensorSetupFailedException.java
interdroid.swan.engine.SensorViewerActivity.java
interdroid.swan.engine.TextProgressBar.java
interdroid.swan.sensors.AbstractConfigurationActivity.java
interdroid.swan.sensors.AbstractCuckooSensor.java
interdroid.swan.sensors.AbstractMemorySensor.java
interdroid.swan.sensors.AbstractSensorBase.java
interdroid.swan.sensors.AbstractVdbSensor.java
interdroid.swan.sensors.MonitorThread.java
interdroid.swan.sensors.SensorInterface.java
interdroid.swan.sensors.TimeSensor.java
interdroid.swan.sensors.impl.BatterySensor.java
interdroid.swan.sensors.impl.BluetoothSensor.java
interdroid.swan.sensors.impl.CalendarSensor.java
interdroid.swan.sensors.impl.CallSensor.java
interdroid.swan.sensors.impl.GyroscopeSensor.java
interdroid.swan.sensors.impl.IntentSensor.java
interdroid.swan.sensors.impl.LightSensor.java
interdroid.swan.sensors.impl.LocationSensor.java
interdroid.swan.sensors.impl.LogCatSensor.java
interdroid.swan.sensors.impl.MagnetometerSensor.java
interdroid.swan.sensors.impl.MovementSensor.java
interdroid.swan.sensors.impl.PolarHeartRate.java
interdroid.swan.sensors.impl.PressureSensor.java
interdroid.swan.sensors.impl.ProximitySensor.java
interdroid.swan.sensors.impl.ScreenSensor.java
interdroid.swan.sensors.impl.SignalStrengthSensor.java
interdroid.swan.sensors.impl.SmartLocationSensor.java
interdroid.swan.sensors.impl.SoundSensor.java
interdroid.swan.sensors.impl.TemperatureSensor.java
interdroid.swan.sensors.impl.TwitterSensor.java
interdroid.swan.sensors.impl.WifiSensor.java
interdroid.swan.sensors.impl.package-info.java
interdroid.swan.swansong.BinaryLogicOperator.java
interdroid.swan.swansong.ComparatorResult.java
interdroid.swan.swansong.Comparator.java
interdroid.swan.swansong.ComparisonExpression.java
interdroid.swan.swansong.ConstantValueExpression.java
interdroid.swan.swansong.ExpressionFactory.java
interdroid.swan.swansong.ExpressionParseException.java
interdroid.swan.swansong.Expression.java
interdroid.swan.swansong.HistoryReductionMode.java
interdroid.swan.swansong.LogicExpression.java
interdroid.swan.swansong.LogicOperator.java
interdroid.swan.swansong.MathOperator.java
interdroid.swan.swansong.MathValueExpression.java
interdroid.swan.swansong.ParseableEnum.java
interdroid.swan.swansong.Parseable.java
interdroid.swan.swansong.Result.java
interdroid.swan.swansong.SensorValueExpression.java
interdroid.swan.swansong.TimestampedValue.java
interdroid.swan.swansong.TriStateExpression.java
interdroid.swan.swansong.TriState.java
interdroid.swan.swansong.UnaryLogicOperator.java
interdroid.swan.swansong.ValueExpression.java
interdroid.swan.ui.EnterConstantDialog.java
interdroid.swan.ui.ExpressionBuilderActivity.java
interdroid.swan.ui.LaunchService.java
interdroid.swan.ui.MergeExpressionDialog.java
interdroid.swan.ui.NewExpressionDialog.java
interdroid.swan.ui.NewMathExpressionDialog.java
interdroid.swan.ui.SelectComparatorDialog.java
interdroid.swan.ui.SelectExpressionDialog.java
interdroid.swan.ui.SelectOperatorDialog.java
interdroid.swan.ui.SelectSensorDialog.java
interdroid.swan.ui.SelectTypedValueDialog.java
interdroid.swan.ui.package-info.java
interdroid.swan.util.SeekBarPreference.java
interdroid.swan.util.TimePreference.java