Added optional maxLength param to validateAndEncode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5143 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -77,11 +77,19 @@ public class ObjectMarshaller
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate the value and encode it. Arrays are not broken-up.
|
* Validate the value and encode it. Arrays are not broken-up.
|
||||||
|
* @param maxLength The maximum size of the data after encoding,
|
||||||
|
* or -1 if no size restriction.
|
||||||
*/
|
*/
|
||||||
public static function validateAndEncode (obj :Object) :ByteArray
|
public static function validateAndEncode (obj :Object, maxLength :int = -1) :ByteArray
|
||||||
{
|
{
|
||||||
validateValue(obj);
|
validateValue(obj);
|
||||||
return encode(obj, false) as ByteArray;
|
|
||||||
|
var data :ByteArray = encode(obj, false) as ByteArray;
|
||||||
|
if (maxLength >= 0 && data != null && data.length > maxLength) {
|
||||||
|
throw new ArgumentError("Cannot encode data of size " + data.length + " bytes. May be at most " + maxLength + " bytes.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user