001package org.apache.archiva.redback.rest.api.model;
002/*
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements.  See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership.  The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License.  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,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied.  See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 */
020
021import javax.xml.bind.annotation.XmlRootElement;
022import java.io.Serializable;
023
024/**
025 * @author Olivier Lamy
026 * @since 1.4
027 */
028@XmlRootElement( name = "resource" )
029public class Resource
030    implements Serializable
031{
032    private String identifier;
033
034    private boolean pattern;
035
036    private boolean permanent;
037
038    public Resource()
039    {
040        // no op
041    }
042
043    public Resource( org.apache.archiva.redback.rbac.Resource resource )
044    {
045        this.identifier = resource.getIdentifier();
046        this.pattern = resource.isPattern();
047        this.permanent = resource.isPermanent();
048    }
049
050    public String getIdentifier()
051    {
052        return identifier;
053    }
054
055    public void setIdentifier( String identifier )
056    {
057        this.identifier = identifier;
058    }
059
060    public boolean isPattern()
061    {
062        return pattern;
063    }
064
065    public void setPattern( boolean pattern )
066    {
067        this.pattern = pattern;
068    }
069
070    public boolean isPermanent()
071    {
072        return permanent;
073    }
074
075    public void setPermanent( boolean permanent )
076    {
077        this.permanent = permanent;
078    }
079
080    @Override
081    public String toString()
082    {
083        final StringBuilder sb = new StringBuilder();
084        sb.append( "Resource" );
085        sb.append( "{identifier='" ).append( identifier ).append( '\'' );
086        sb.append( ", pattern=" ).append( pattern );
087        sb.append( ", permanent=" ).append( permanent );
088        sb.append( '}' );
089        return sb.toString();
090    }
091}