All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fathom.rest.controller.extractors.HeaderExtractor Maven / Gradle / Ivy

There is a newer version: 1.0.1
Show newest version
/*
 * Copyright (C) 2015 the original author or authors.
 *
 * 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 fathom.rest.controller.extractors;

import fathom.rest.Context;
import fathom.rest.controller.Header;
import ro.pippo.core.ParameterValue;

/**
 * @author James Moger
 */
public class HeaderExtractor extends DefaultObjectExtractor
        implements NamedExtractor, PatternExtractor, ConfigurableExtractor
{ private String name; private String pattern; public Class
getAnnotationClass() { return Header.class; } @Override public void configure(Header header) { setName(header.value()); setPattern(header.pattern()); } @Override public String getName() { return name; } @Override public void setName(String name) { this.name = name; } @Override public String getPattern() { return pattern; } @Override public void setPattern(String pattern) { this.pattern = pattern; } @Override public Object extract(Context context) { ParameterValue pv = new ParameterValue(context.getHeader(name)); if (collectionType == null) { Object o = pv.to(objectType, pattern); return o; } Object o = pv.toCollection(collectionType, objectType, pattern); return o; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy