use of org.jdiameter.api.Avp in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsUnsigned64.
public static long[] getAvpsAsUnsigned64(int avpCode, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode);
long[] values = new long[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getUnsigned64();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " as type Unsigned64.", e);
}
return new long[0];
}
}
use of org.jdiameter.api.Avp in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsInteger32.
public static int[] getAvpsAsInteger32(int avpCode, long vendorId, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode, vendorId);
int[] values = new int[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getInteger32();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Integer32.", e);
}
return new int[0];
}
}
use of org.jdiameter.api.Avp in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsUnsigned64.
public static long[] getAvpsAsUnsigned64(int avpCode, long vendorId, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode, vendorId);
long[] values = new long[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getUnsigned64();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Unsigned64.", e);
}
return new long[0];
}
}
use of org.jdiameter.api.Avp in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpAsCustom.
public static Object getAvpAsCustom(int avpCode, long vendorId, AvpSet set, Class clazz) {
try {
Avp avp = set.getAvp(avpCode, vendorId);
if (avp != null) {
AvpRepresentation rep = AvpDictionary.INSTANCE.getAvp(avpCode, vendorId);
Constructor c = null;
c = clazz.getConstructor(int.class, long.class, int.class, int.class, byte[].class);
return c.newInstance(rep.getCode(), rep.getVendorId(), rep.getRuleMandatoryAsInt(), rep.getRuleProtectedAsInt(), avp.getRawData());
}
} catch (Exception e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Custom (Class '" + clazz.getName() + "').", e);
}
}
return null;
}
use of org.jdiameter.api.Avp in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsFloat32.
public static float[] getAvpsAsFloat32(int avpCode, long vendorId, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode, vendorId);
float[] values = new float[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getFloat32();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Float32.", e);
}
return new float[0];
}
}
Aggregations