/**
*
*/
package com.aionemu.packetsamurai.parser.valuereader;
import javax.swing.JComponent;
import javax.swing.JLabel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import com.aionemu.packetsamurai.PacketSamurai;
import com.aionemu.packetsamurai.parser.datatree.ValuePart;
/**
* @author Ulysses R. Ribeiro
*
*/
public class IPv4Reader implements Reader
{
public <T extends Enum<T>> T getEnum(ValuePart part)
{
return null;
}
public boolean loadReaderFromXML(Node n)
{
return true;
}
public String read(ValuePart part)
{
if (part.getBytesSize() == 4)
{
byte[] ip = part.getBytes();
return (ip[0]&0xFF)+"."+(ip[1]&0xFF)+"."+(ip[2]&0xFF)+"."+(ip[3]&0xFF);
}
PacketSamurai.getUserInterface().log("ERROR: IPv4 Reader requires a part with exactly 4 bytes. Faulty part : "+part.getModelPart().getName());
return "";
}
public JComponent readToComponent(ValuePart part)
{
return new JLabel(this.read(part));
}
public boolean saveReaderToXML(Element element, Document doc)
{
return true;
}
public boolean supportsEnum()
{
return false;
}
}