aboutsummaryrefslogtreecommitdiffstats
path: root/Java/com/phidgets/event/EncoderPositionChangeEvent.java
blob: 52118a73b1322ecba5c1f8c586044a37542a936e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
 * Copyright 2006 Phidgets Inc.  All rights reserved.
 */

package com.phidgets.event;

import com.phidgets.Phidget;

/**
 * This class represents the data for a EncoderPositionChangeEvent.
 * 
 * @author Phidgets Inc.
 */
public class EncoderPositionChangeEvent
{
	Phidget source;
	int index;
	int value;
	int time;

	/**
	 * Class constructor. This is called internally by the phidget library when creating this event.
	 * 
	 * @param source the Phidget object from which this event originated
	 */
	public EncoderPositionChangeEvent(Phidget source, int index, int time, int value) {
		this.source = source;
		this.index = index;
		this.value = value;
		this.time = time;
	}

	/**
	 * Returns the source Phidget of this event. This is a reference to the Phidget object from which this
	 * event was called. This object can be cast into a specific type of Phidget object to call specific
	 * device calls on it.
	 * 
	 * @return the event caller
	 */
	public Phidget getSource() {
		return source;
	}

	/**
	 * Returns the index of the encoder.
	 * 
	 * @return the index of the encoder
	 */
	public int getIndex() {
		return index;
	}

	/**
	 * Returns the position change of the encoder. This is the amount of change in the encoder's position
	 * since the last {@link #EncoderPositionChangeEvent}.
	 * 
	 * @return the change in position of the encoder
	 */
	public int getValue() {
		return value;
	}

	/**
	 * Returns the timestamp of this position change. This is the time since the last {@link #EncoderPositionChangeEvent}.
	 * This time is not represented in a real quantitly such as seconds, but can be used as a qualitative quantity.
	 * 
	 * @return the timestamp of this change event
	 */
	public int getTime()
	{
		return time;
	}

	/**
	 * Returns a string containing information about the event.
	 * 
	 * @return an informative event string
	 */
	public String toString() {
		
		return source.toString() + " encoder position " + index + " changed by "
		  + value + " Time: " + time;
	}
}