net.jradius.packet
Class RadiusFormat

java.lang.Object
  extended by net.jradius.packet.Format
      extended by net.jradius.packet.RadiusFormat
Direct Known Subclasses:
FreeRadiusFormat

public class RadiusFormat
extends Format

Default RadiusPacket/RadiusAttribute format class. This class formats and parses UDP RADIUS Packets. Derived classes implement other formats.

Author:
David Bird

Nested Class Summary
 
Nested classes/interfaces inherited from class net.jradius.packet.Format
Format.AttributeParseContext
 
Field Summary
static int VSA_HEADER_LENGTH
           
 
Constructor Summary
RadiusFormat()
           
 
Method Summary
static RadiusFormat getInstance()
           
 void packAttribute(java.io.OutputStream out, RadiusAttribute a)
          Packs a RadiusAttribute into a DataOutputStream
 void packHeader(java.io.OutputStream out, RadiusAttribute a)
          Packs a RadiusAttribute header into a DataOutputStream
 void packHeader(java.io.OutputStream out, RadiusPacket p, byte[] attributeBytes, java.lang.String sharedSecret)
          Packs the RadiusPacket into a DataOutputStream
 void packHeader(java.io.OutputStream out, VSAttribute a)
          Packs a VSAttribute header into a DataOutputStream
 byte[] packPacket(RadiusPacket packet, java.lang.String sharedSecret)
          Packs a RadiusPacket into a byte array
static void setAttributeBytes(RadiusPacket packet, byte[] bAttributes)
          Parses attributes and places them in a RadiusPacket
 int unpackAttributeHeader(java.io.InputStream in, Format.AttributeParseContext ctx)
          Unpacks the header of a RadiusAttribute from a DataInputStream
 
Methods inherited from class net.jradius.packet.Format
packAttributeList, readUnsignedByte, readUnsignedInt, readUnsignedShort, unpackAttributes, writeUnsignedByte, writeUnsignedInt, writeUnsignedShort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VSA_HEADER_LENGTH

public static final int VSA_HEADER_LENGTH
See Also:
Constant Field Values
Constructor Detail

RadiusFormat

public RadiusFormat()
Method Detail

getInstance

public static RadiusFormat getInstance()
Returns:
Returns a static instnace of this class

setAttributeBytes

public static void setAttributeBytes(RadiusPacket packet,
                                     byte[] bAttributes)
Parses attributes and places them in a RadiusPacket

Parameters:
packet - The RadiusPacket to parse attributes into
bAttributes - The attribute bytes to parse

packPacket

public byte[] packPacket(RadiusPacket packet,
                         java.lang.String sharedSecret)
Packs a RadiusPacket into a byte array

Parameters:
packet - The RadiusPacket to pack
Returns:
Returns the packed RadiusPacket

packHeader

public void packHeader(java.io.OutputStream out,
                       RadiusPacket p,
                       byte[] attributeBytes,
                       java.lang.String sharedSecret)
                throws java.io.IOException
Packs the RadiusPacket into a DataOutputStream

Parameters:
out - The DataOutputStream to write to
p - The RadiusPacket to pack
attributeBytes - The RadiusPacket attributes
Throws:
java.io.IOException

packAttribute

public void packAttribute(java.io.OutputStream out,
                          RadiusAttribute a)
                   throws java.io.IOException
Packs a RadiusAttribute into a DataOutputStream

Specified by:
packAttribute in class Format
Parameters:
out - The DataOutputStream to write attibutes to
a - The RadiusAttribute to pack
Throws:
java.io.IOException

packHeader

public void packHeader(java.io.OutputStream out,
                       RadiusAttribute a)
                throws java.io.IOException
Packs a RadiusAttribute header into a DataOutputStream

Parameters:
out - The DataOutputStream to write to
a - The RadiusAttribute to pack
Throws:
java.io.IOException

packHeader

public void packHeader(java.io.OutputStream out,
                       VSAttribute a)
                throws java.io.IOException
Packs a VSAttribute header into a DataOutputStream

Parameters:
out - The DataOutputStream to write to
a - The VSAttribute to pack
Throws:
java.io.IOException

unpackAttributeHeader

public int unpackAttributeHeader(java.io.InputStream in,
                                 Format.AttributeParseContext ctx)
                          throws java.io.IOException
Unpacks the header of a RadiusAttribute from a DataInputStream

Specified by:
unpackAttributeHeader in class Format
Parameters:
in - The DataInputStream to read from
ctx - The Attribute Parser Context
Returns:
Returns the additional offset length for this header
Throws:
java.io.IOException


Copyright © 2008 JRadius Project, All Rights Reserved.