001/*
002 * #%L
003 * HAPI FHIR - Server Framework
004 * %%
005 * Copyright (C) 2014 - 2024 Smile CDR, Inc.
006 * %%
007 * Licensed under the Apache License, Version 2.0 (the "License");
008 * you may not use this file except in compliance with the License.
009 * You may obtain a copy of the License at
010 *
011 *      http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 * #L%
019 */
020package ca.uhn.fhir.rest.server;
021
022import jakarta.servlet.ServletContext;
023import jakarta.servlet.http.HttpServletRequest;
024import org.apache.commons.lang3.Validate;
025
026/**
027 * Server address strategy which simply returns a hardcoded URL
028 */
029public class HardcodedServerAddressStrategy implements IServerAddressStrategy {
030
031        private String myValue;
032
033        public HardcodedServerAddressStrategy() {
034                // nothing
035        }
036
037        public HardcodedServerAddressStrategy(String theValue) {
038                Validate.notBlank(theValue, "theValue must not be null or empty");
039                myValue = theValue;
040        }
041
042        public String getValue() {
043                return myValue;
044        }
045
046        public void setValue(String theValue) {
047                Validate.notBlank(theValue, "theValue must not be null or empty");
048                myValue = theValue;
049        }
050
051        @Override
052        public String determineServerBase(ServletContext theServletContext, HttpServletRequest theRequest) {
053                return myValue;
054        }
055}