Discuss / Java / homework

homework

Topic source

	static void check(Person person) throws IllegalArgumentException, ReflectiveOperationException {
		for (Field field : person.getClass().getFields()) {
			Range range = field.getAnnotation(Range.class);
			if (range != null) {
				Object value = field.get(person);
				// TODO:
				if (value instanceof String) {
					String s = (String) value;
					if (s.length() < range.min() || s.length() > range.max()) {
						throw new IllegalArgumentException("Invalid Field:" + field.getName());
					}
				} else if (value instanceof Integer) {
					int i = (int) value;
					if (i > range.max() || i < range.min()) {
						throw new IllegalArgumentException("Invalid Field:" + field.getName());
					}
				}
			}
		}
	}


  • 1

Reply