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 = "operation" )
029public class Operation
030    implements Serializable
031{
032    private String name;
033
034    private String description;
035
036    private boolean permanent;
037
038    public Operation()
039    {
040        // no op
041    }
042
043    public Operation( org.apache.archiva.redback.rbac.Operation operation )
044    {
045        this.name = operation.getName();
046        this.description = operation.getDescription();
047        this.permanent = operation.isPermanent();
048    }
049
050    public String getName()
051    {
052        return name;
053    }
054
055    public void setName( String name )
056    {
057        this.name = name;
058    }
059
060    public String getDescription()
061    {
062        return description;
063    }
064
065    public void setDescription( String description )
066    {
067        this.description = description;
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( "Operation" );
085        sb.append( "{name='" ).append( name ).append( '\'' );
086        sb.append( ", description='" ).append( description ).append( '\'' );
087        sb.append( ", permanent=" ).append( permanent );
088        sb.append( '}' );
089        return sb.toString();
090    }
091}