001/*
002 * Licensed to DuraSpace under one or more contributor license agreements.
003 * See the NOTICE file distributed with this work for additional information
004 * regarding copyright ownership.
005 *
006 * DuraSpace licenses this file to you under the Apache License,
007 * Version 2.0 (the "License"); you may not use this file except in
008 * compliance with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018package org.fcrepo.http.commons.webxml.bind;
019
020import static java.util.Collections.emptyList;
021
022import java.util.List;
023
024import javax.xml.bind.annotation.XmlElement;
025import javax.xml.bind.annotation.XmlElements;
026import javax.xml.bind.annotation.XmlRootElement;
027
028/**
029 * <p>Servlet class.</p>
030 *
031 * @author awoods
032 */
033@XmlRootElement(namespace = "http://java.sun.com/xml/ns/javaee",
034        name = "listener")
035public class Servlet extends Displayable {
036
037    @XmlElements(value = {@XmlElement(
038            namespace = "http://java.sun.com/xml/ns/javaee",
039            name = "init-param")})
040    List<InitParam> initParams;
041
042    @XmlElements(value = {@XmlElement(
043            namespace = "http://java.sun.com/xml/ns/javaee",
044            name = "servlet-name")})
045    String servletName;
046
047    @XmlElements(value = {@XmlElement(
048            namespace = "http://java.sun.com/xml/ns/javaee",
049            name = "servlet-class")})
050    String servletClass;
051
052    @XmlElements(value = {@XmlElement(
053            namespace = "http://java.sun.com/xml/ns/javaee",
054            name = "load-on-startup")})
055    String loadOnStartUp;
056
057    public String servletName() {
058        return this.servletName;
059    }
060
061    public String servletClass() {
062        return this.servletClass;
063    }
064
065    public List<InitParam> initParams() {
066        if (initParams != null) {
067            return initParams;
068        }
069        return emptyList();
070    }
071}