/** * This Source Code Form is subject to the terms of the Mozilla Public License, * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under * the terms of the Healthcare Disclaimer located at http://openmrs.org/license. * * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS * graphic logo is a trademark of OpenMRS Inc. */ package org.openmrs.module.webservices.rest.web.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource; /** * Use this annotation to mark a method in a {@link DelegatingCrudResource} implementation that * describes how to set a property on a delegate. (You would use this, for example, if you want to * expose a "preferredName" property in the resource, which doesn't have a direct setter on the * delegate.) The "setter" method should have the form "void setXyz(T delegate, Object value)" and * may be static. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface PropertySetter { /** * @return the name of the property the annotated method is a "setter" for. */ String value(); }