diff --git a/src/main/java/de/ailis/usb4java/libusb/ControlSetup.java b/src/main/java/de/ailis/usb4java/libusb/ControlSetup.java index e1a7a19..566c85d 100644 --- a/src/main/java/de/ailis/usb4java/libusb/ControlSetup.java +++ b/src/main/java/de/ailis/usb4java/libusb/ControlSetup.java @@ -81,4 +81,51 @@ public final class ControlSetup { controlSetup.putShort(6, wLength); } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = (prime * result) + + ((controlSetup == null) ? 0 : controlSetup.hashCode()); + return result; + } + + @Override + public boolean equals(final Object obj) + { + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final ControlSetup other = (ControlSetup) obj; + if (controlSetup == null) + { + if (other.controlSetup != null) + { + return false; + } + } + else if (!controlSetup.equals(other.controlSetup)) + { + return false; + } + return true; + } + + @Override + public String toString() + { + return String.format("libusb control setup with buffer %s", + controlSetup.toString()); + } } diff --git a/src/main/java/de/ailis/usb4java/libusb/IsoPacketDescriptor.java b/src/main/java/de/ailis/usb4java/libusb/IsoPacketDescriptor.java index 2efb772..4a9daab 100644 --- a/src/main/java/de/ailis/usb4java/libusb/IsoPacketDescriptor.java +++ b/src/main/java/de/ailis/usb4java/libusb/IsoPacketDescriptor.java @@ -1,8 +1,5 @@ package de.ailis.usb4java.libusb; -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.apache.commons.lang3.builder.HashCodeBuilder; - public final class IsoPacketDescriptor { /** The native pointer to the descriptor structure. */ @@ -41,11 +38,11 @@ public final class IsoPacketDescriptor @Override public int hashCode() { - return new HashCodeBuilder() - .append(length()) - .append(actualLength()) - .append(status()) - .toHashCode(); + final int prime = 31; + int result = 1; + result = (prime * result) + + (int) (isoPacketDescriptorPointer ^ (isoPacketDescriptorPointer >>> 32)); + return result; } @Override @@ -63,13 +60,18 @@ public final class IsoPacketDescriptor { return false; } - final IsoPacketDescriptor other = (IsoPacketDescriptor) obj; + if (isoPacketDescriptorPointer != other.isoPacketDescriptorPointer) + { + return false; + } + return true; + } - return new EqualsBuilder() - .append(length(), other.length()) - .append(actualLength(), other.actualLength()) - .append(status(), other.status()) - .isEquals(); + @Override + public String toString() + { + return String.format("libusb iso packet descriptor 0x%x", + isoPacketDescriptorPointer); } } diff --git a/src/main/java/de/ailis/usb4java/libusb/Transfer.java b/src/main/java/de/ailis/usb4java/libusb/Transfer.java index 10c7af1..8b85ffa 100644 --- a/src/main/java/de/ailis/usb4java/libusb/Transfer.java +++ b/src/main/java/de/ailis/usb4java/libusb/Transfer.java @@ -13,9 +13,6 @@ package de.ailis.usb4java.libusb; import java.nio.ByteBuffer; -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.apache.commons.lang3.builder.HashCodeBuilder; - /** * The generic USB transfer structure. * @@ -193,7 +190,6 @@ public final class Transfer */ public native int actualLength(); - /** * Returns the current callback object. * @@ -291,21 +287,11 @@ public final class Transfer @Override public int hashCode() { - return new HashCodeBuilder() - .append(devHandle()) - .append(flags()) - .append(endpoint()) - .append(type()) - .append(timeout()) - .append(status()) - .append(length()) - .append(actualLength()) - .append(callback()) - .append(userData()) - .append(buffer()) - .append(numIsoPackets()) - .append(isoPacketDesc()) - .toHashCode(); + final int prime = 31; + int result = 1; + result = (prime * result) + + (int) (transferPointer ^ (transferPointer >>> 32)); + return result; } @Override @@ -323,23 +309,17 @@ public final class Transfer { return false; } - final Transfer other = (Transfer) obj; + if (transferPointer != other.transferPointer) + { + return false; + } + return true; + } - return new EqualsBuilder() - .append(devHandle(), other.devHandle()) - .append(flags(), other.flags()) - .append(endpoint(), other.endpoint()) - .append(type(), other.type()) - .append(timeout(), other.timeout()) - .append(status(), other.status()) - .append(length(), other.length()) - .append(actualLength(), other.actualLength()) - .append(callback(), other.callback()) - .append(userData(), other.userData()) - .append(buffer(), other.buffer()) - .append(numIsoPackets(), other.numIsoPackets()) - .append(isoPacketDesc(), other.isoPacketDesc()) - .isEquals(); + @Override + public String toString() + { + return String.format("libusb transfer 0x%x", transferPointer); } }