/** * Copyright 2014 Opower, Inc. * Licensed under the Apache 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://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ package com.opower.rest.client.generator.core; import com.opower.rest.client.generator.util.StringConverters; import javax.ws.rs.core.Application; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; import javax.ws.rs.core.Variant; import javax.ws.rs.ext.RuntimeDelegate; /** * This class is only for situations where NO JAX-RS implementation is found on the classpath. The client can still work * by using this little class. All you have to do is set a system property on the jvm: * * -Djavax.ws.rs.ext.RuntimeDelegate=com.opower.rest.client.generator.core.BasicRuntimeDelegate */ public class BasicRuntimeDelegate extends RuntimeDelegate { @Override public UriBuilder createUriBuilder() { throw new UnsupportedOperationException(); } @Override public Response.ResponseBuilder createResponseBuilder() { throw new UnsupportedOperationException(); } @Override public Variant.VariantListBuilder createVariantListBuilder() { throw new UnsupportedOperationException(); } @Override public <T> T createEndpoint(Application application, Class<T> tClass) throws IllegalArgumentException, UnsupportedOperationException { throw new UnsupportedOperationException(); } @Override public <T> HeaderDelegate<T> createHeaderDelegate(final Class<T> tClass) { return new HeaderDelegate<T>() { @Override public T fromString(String s) throws IllegalArgumentException { return StringConverters.getStringConverter(tClass).fromString(s); } @Override public String toString(T t) { return StringConverters.getStringConverter(tClass).toString(t); } }; } }