/** * @param targetClass targetClass * @param numberClass numberClass * @return a class which implements {@link org.pcap4j.packet.factory.PacketFactory PacketFactory} * for specified classes. */ public Class<? extends PacketFactory<?, ?>> getPacketFactoryClass( Class<?> targetClass, Class<? extends NamedNumber<?, ?>> numberClass) { StringBuilder sb = new StringBuilder(200); sb.append(targetClass.getName()); if (!numberClass.equals(NotApplicable.class)) { sb.append(".classifiedBy.").append(numberClass.getName()); } sb.append(".isMadeBy"); String key = sb.toString(); Class<? extends PacketFactory<?, ?>> factory = loader.getClass(key, null); if (factory == null) { String value = loader.getProp().getProperty(key); if (value == null) { throw new IllegalStateException("Can't get a value by the key: " + key); } else { sb = new StringBuilder(110); sb.append("Invalid value(").append(value).append(") for the key: ").append(key); throw new IllegalStateException(sb.toString()); } } return factory; }
/** * @param targetClass targetClass * @param numberClass numberClass * @return a class which implements {@link org.pcap4j.packet.factory.PacketFactory PacketFactory} * for specified classes. */ public Class<? extends PacketFactory<?, ?>> getPacketFactoryClass( Class<?> targetClass, Class<? extends NamedNumber<?, ?>> numberClass) { StringBuilder sb = new StringBuilder(200); sb.append(targetClass.getName()); if (!numberClass.equals(NotApplicable.class)) { sb.append(".classifiedBy.").append(numberClass.getName()); } sb.append(".isMadeBy"); String key = sb.toString(); Class<? extends PacketFactory<?, ?>> factory = loader.getClass(key, null); if (factory == null) { String value = loader.getProp().getProperty(key); if (value == null) { throw new IllegalStateException("Can't get a value by the key: " + key); } else { sb = new StringBuilder(110); sb.append("Invalid value(").append(value).append(") for the key: ").append(key); throw new IllegalStateException(sb.toString()); } } return factory; }