Android Open Source - nadia Signal Slot Pair






From Project

Back to project page nadia.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project nadia 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

/*
 * SignalSlotPair.java//from  w  w w  .j av a2 s  . co m
 * 
 * Copyright (c) 2013, Emmanuel Arana Corzo. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301  USA
 */

package com.redarctic.nadia.ext.simplesignalslot;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * @author Emmanuel Arana Corzo <emmanuel.arana@gmail.com>
 */
public class SignalSlotPair {
  public static final String UNMATCHED_SIGNAL_DATA_TYPE = "Unmatched signalData type";

  public boolean matches(ISignalProvider signalProvider,
      SlotProviderMethodPair pair) {
    return (this.signalProvider_ == signalProvider) // identical reference
        && (this.slotProvider_ == pair.getSlotProvider())
        && (this.slotMethod_.equals(pair.getSlotMethod()));

  }

  public boolean matches(ISignalProvider signalProvider,
      ISlotProvider slotProvider) {
    return (this.signalProvider_ == signalProvider) // identical reference
        && (this.slotProvider_ == slotProvider);
  }

  public boolean matches(ISlotProvider slotProvider) {
    return (this.slotProvider_ == slotProvider); // identical reference
  }

  public boolean matches(ISignalProvider signalProvider) {
    return (this.signalProvider_ == signalProvider); // identical reference
  }

  public boolean matches(ISignalProvider signalProvider, String signalName) {
    return (this.signalProvider_ == signalProvider) // identical reference
        && this.signalName_.equals(signalName);
  }

  public boolean matches(ISignalProvider signalProvider, String signalName,
      SlotProviderMethodPair pair) {
    return (this.signalProvider_ == signalProvider)
        && this.signalName_.equals(signalName)
        && (this.slotProvider_ == pair.getSlotProvider())
        && (this.slotMethod_.equals(pair.getSlotMethod()));
  }

  /**
   * Invoke method of my slot provider.
   * 
   * @param signalData
   */
  public void invoke(Object signalData[]) {    
    try {
      // invoke the method
      this.slotMethod_.invoke(this.slotProvider_, signalData);
    } catch (IllegalArgumentException e) {
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      e.printStackTrace();
    }
  }

  public SignalSlotPair(ISignalProvider signalProvider, String signalName,
      SlotProviderMethodPair slotProviderMethodPair) {
    this.signalProvider_ = signalProvider;
    this.signalName_ = signalName;
    this.slotProvider_ = slotProviderMethodPair.getSlotProvider();
    this.slotMethod_ = slotProviderMethodPair.getSlotMethod();
  }

  public String toString() {
    return "[" + this.getClass().getName() + ":" + "signalProvider_:"
        + signalProvider_.toString() + ";" + "signalName_:"
        + signalName_ + ";" + "slotProvider_:"
        + slotProvider_.toString() + ";" + "slotMethod_:" + slotMethod_
        + ";" + "]";
  }

  private ISignalProvider signalProvider_;
  private String signalName_;
  private ISlotProvider slotProvider_;
  private Method slotMethod_;
}




Java Source Code List

com.ashokgelal.samaya.DateTimeFormatter.java
com.ashokgelal.samaya.DateTimeInterval.java
com.ashokgelal.samaya.DateTimeParser.java
com.ashokgelal.samaya.DateTime.java
com.ashokgelal.samaya.ModelUtil.java
com.ashokgelal.samaya.Samaya.java
com.ashokgelal.samaya.TimeSpan.java
com.ashokgelal.samaya.ToStringUtil.java
com.ashokgelal.samaya.Util.java
com.redarctic.nadia.baseengine.BaseGameState.java
com.redarctic.nadia.baseengine.ColorPallete.java
com.redarctic.nadia.baseengine.DrawableGameComponent.java
com.redarctic.nadia.baseengine.DrawableObject.java
com.redarctic.nadia.baseengine.GameComponent.java
com.redarctic.nadia.baseengine.GameStateManager.java
com.redarctic.nadia.baseengine.GameState.java
com.redarctic.nadia.baseengine.GameSurfaceView.java
com.redarctic.nadia.baseengine.GameSurface.java
com.redarctic.nadia.baseengine.SpriteFont.java
com.redarctic.nadia.baseengine.Sprite.java
com.redarctic.nadia.baseengine.character.BaseModifier.java
com.redarctic.nadia.baseengine.character.Classes.java
com.redarctic.nadia.baseengine.character.FormulaModifierException.java
com.redarctic.nadia.baseengine.character.Player.java
com.redarctic.nadia.baseengine.item.ArmorLocation.java
com.redarctic.nadia.baseengine.item.Armor.java
com.redarctic.nadia.baseengine.item.BaseItem.java
com.redarctic.nadia.baseengine.item.ItemManager.java
com.redarctic.nadia.baseengine.item.ItemType.java
com.redarctic.nadia.baseengine.item.Shield.java
com.redarctic.nadia.baseengine.item.Weapon.java
com.redarctic.nadia.baseengine.item.WeaponsType.java
com.redarctic.nadia.baseengine.sprite.AnimatedSprite.java
com.redarctic.nadia.baseengine.sprite.AnimationException.java
com.redarctic.nadia.baseengine.sprite.AnimationKey.java
com.redarctic.nadia.baseengine.sprite.Animation.java
com.redarctic.nadia.baseengine.tileengine.Camera.java
com.redarctic.nadia.baseengine.tileengine.Engine.java
com.redarctic.nadia.baseengine.tileengine.MapLayer.java
com.redarctic.nadia.baseengine.tileengine.TileException.java
com.redarctic.nadia.baseengine.tileengine.TileMap.java
com.redarctic.nadia.baseengine.tileengine.Tile.java
com.redarctic.nadia.baseengine.tileengine.Tileset.java
com.redarctic.nadia.baseengine.world.Level.java
com.redarctic.nadia.baseengine.world.World.java
com.redarctic.nadia.collision.Circle.java
com.redarctic.nadia.collision.CollisionPolygon.java
com.redarctic.nadia.collision.ConvexPolygonException.java
com.redarctic.nadia.collision.Rectangle.java
com.redarctic.nadia.controls.ButtonPad.java
com.redarctic.nadia.controls.DirectionalPad.java
com.redarctic.nadia.controls.menu.CharacterDialog.java
com.redarctic.nadia.controls.menu.ControlBorder.java
com.redarctic.nadia.controls.menu.ControlManager.java
com.redarctic.nadia.controls.menu.Control.java
com.redarctic.nadia.controls.menu.Label.java
com.redarctic.nadia.controls.menu.LeftRightSelector.java
com.redarctic.nadia.controls.menu.LinkLabel.java
com.redarctic.nadia.controls.menu.Menu.java
com.redarctic.nadia.controls.menu.PictureBox.java
com.redarctic.nadia.controls.menu.SimpleConversation.java
com.redarctic.nadia.ext.MathHelper.java
com.redarctic.nadia.ext.StringHelper.java
com.redarctic.nadia.ext.simplesignalslot.ISignalProvider.java
com.redarctic.nadia.ext.simplesignalslot.ISlotProvider.java
com.redarctic.nadia.ext.simplesignalslot.PrimitiveWrapper.java
com.redarctic.nadia.ext.simplesignalslot.SignalSlotMap.java
com.redarctic.nadia.ext.simplesignalslot.SignalSlotPair.java
com.redarctic.nadia.ext.simplesignalslot.SlotProviderMethodPair.java