/* * The contents of this file are subject to the OpenMRS Public License * Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and * limitations under the License. * * Copyright (C) OpenHMIS. All Rights Reserved. */ package org.openmrs.module.webservices.rest.resource; import org.openmrs.module.openhmis.cashier.api.IPaymentModeService; import org.openmrs.module.openhmis.cashier.api.model.BillLineItem; import org.openmrs.module.openhmis.cashier.api.model.PaymentMode; import org.openmrs.module.openhmis.cashier.api.model.PaymentModeAttributeType; import org.openmrs.module.openhmis.commons.api.entity.IMetadataDataService; import org.openmrs.module.webservices.rest.web.RestConstants; import org.openmrs.module.webservices.rest.web.annotation.PropertySetter; import org.openmrs.module.webservices.rest.web.annotation.Resource; import org.openmrs.module.webservices.rest.web.representation.RefRepresentation; import org.openmrs.module.webservices.rest.web.representation.Representation; import org.openmrs.module.webservices.rest.web.resource.impl.DelegatingResourceDescription; import java.util.List; /** * REST resource representing a {@link PaymentMode}. */ @Resource(name = RestConstants.VERSION_2 + "/cashier/paymentMode", supportedClass = PaymentMode.class, supportedOpenmrsVersions = { "1.9.*", "1.10.*", "1.11.*", "1.12.*" }) public class PaymentModeResource extends BaseRestInstanceTypeResource<PaymentMode, PaymentModeAttributeType> { @Override public PaymentMode newDelegate() { return new PaymentMode(); } @Override public Class<? extends IMetadataDataService<PaymentMode>> getServiceClass() { return IPaymentModeService.class; } @Override public DelegatingResourceDescription getRepresentationDescription(Representation rep) { DelegatingResourceDescription description = super.getRepresentationDescription(rep); if (!(rep instanceof RefRepresentation)) { description.addProperty("sortOrder"); } return description; } @PropertySetter("attributeTypes") public void setAttributeTypes(PaymentMode instance, List<PaymentModeAttributeType> attributeTypes) { super.baseSetAttributeTypes(instance, attributeTypes); } }