org.pcap4j.packet.factory.SimplePacketFactoryBinder Maven / Gradle / Ivy
The newest version!
/*_##########################################################################
_##
_## Copyright (C) 2013-2014 Pcap4J.org
_##
_##########################################################################
*/
package org.pcap4j.packet.factory;
import org.pcap4j.packet.Packet;
import org.pcap4j.packet.namednumber.NamedNumber;
/**
* @author Kaito Yamada
* @since pcap4j 0.9.16
*/
final class SimplePacketFactoryBinder {
private static final SimplePacketFactoryBinder INSTANCE = new SimplePacketFactoryBinder();
private SimplePacketFactoryBinder() {}
public static SimplePacketFactoryBinder getInstance() {
return INSTANCE;
}
@SuppressWarnings("unchecked")
public > PacketFactory getPacketFactory(
Class targetClass, Class numberClass) {
if (Packet.class.isAssignableFrom(targetClass)) {
return (PacketFactory) StaticUnknownPacketFactory.getInstance();
} else {
StringBuilder sb = new StringBuilder(100);
sb.append("targetClass: ").append(targetClass).append(" numberClass: ").append(numberClass);
throw new IllegalArgumentException(sb.toString());
}
}
}