/* * Copyright (C) 2014 Civilian Framework. * * Licensed under the Civilian License (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.civilian-framework.org/license.txt * * 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 org.civilian.samples.inject; import org.civilian.Controller; import org.civilian.Response; import org.civilian.annotation.BeanParam; import org.civilian.annotation.Get; import org.civilian.annotation.HeaderParam; import org.civilian.annotation.Post; import org.civilian.annotation.Produces; import org.civilian.annotation.Parameter; /** * Controller for resource "/". */ public class IndexController extends Controller { @Get @Produces("text/html") public void get() throws Exception { getResponse().writeTemplate(new IndexTemplate()); } /** * Demonstrates use of the customer annotation @RemoteIp * which injects the ip of the caller. */ @Post @Produces("text/html") public void post(@RemoteIp String remoteIp, @HeaderParam("Accept") String acceptHeader, @Parameter("age") int age, @BeanParam Registration registration, Response response) throws Exception { response.writeTemplate(new IndexTemplate(remoteIp, acceptHeader, registration)); } }