1/* 2 * Copyright (c) 2007 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5package org.mockito.internal.util.reflection; 6 7import java.lang.reflect.Field; 8 9public class FieldSetter { 10 11 private FieldSetter(){} 12 13 public static void setField(Object target, Field field,Object value) { 14 AccessibilityChanger changer = new AccessibilityChanger(); 15 changer.enableAccess(field); 16 try { 17 field.set(target, value); 18 } catch (IllegalAccessException e) { 19 throw new RuntimeException("Access not authorized on field '" + field + "' of object '" + target + "' with value: '" + value + "'", e); 20 } catch (IllegalArgumentException e) { 21 throw new RuntimeException("Wrong argument on field '" + field + "' of object '" + target + "' with value: '" + value + "', \n" + 22 "reason : " + e.getMessage(), e); 23 } 24 changer.safelyDisableAccess(field); 25 } 26} 27