/** * Verifies that the method name, parameter types, and constraints are * valid. * * @throws InvalidObjectException if <code>types</code> is * non-<code>null</code> and <code>name</code> is either * <code>null</code> or is not a syntactically valid method name; * or if <code>types</code> is <code>null</code> and <code>name</code> * is neither a syntactically valid method name, a syntactically * valid method name with a '*' appended, nor a name constructed from * some syntactically valid method name containing more than two * characters by replacing the first character of that name with '*'; * or if any element of <code>types</code> is <code>null</code>; or * if <code>constraints</code> is non-<code>null</code> but empty */ private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); checkSerial(name, types, constraints); } }
public StringMethodDesc(GetArg arg) throws IOException, ClassNotFoundException{ this(checkSerial( arg.get("name", null, String.class), arg.get("types", null, String[].class), arg.get("constraints", null, InvocationConstraints.class) ), (String) arg.get("name", null), (String[]) arg.get("types", null), (InvocationConstraints) arg.get("constraints", null) ); }