001    package org.apache.archiva.web.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    
021    import javax.xml.bind.annotation.XmlRootElement;
022    import java.io.Serializable;
023    
024    /**
025     * @author Olivier Lamy
026     * @since 1.4-M3
027     */
028    @XmlRootElement( name = "fileMetadata" )
029    public class FileMetadata
030        implements Serializable
031    {
032        private String name;
033    
034        private String serverFileName;
035    
036        private long size;
037    
038        private String url;
039    
040        private String deleteUrl;
041    
042        private String deleteType;
043    
044        private String errorKey;
045    
046        private String classifier;
047    
048        private boolean pomFile;
049    
050        public FileMetadata()
051        {
052            // no op
053        }
054    
055        public FileMetadata( String serverFileName )
056        {
057            this.serverFileName = serverFileName;
058        }
059    
060        public FileMetadata( String name, long size, String url )
061        {
062            this.name = name;
063            this.size = size;
064            this.url = url;
065            this.deleteUrl = url;
066            this.deleteType = "DELETE";
067        }
068    
069        public String getName()
070        {
071            return name;
072        }
073    
074        public void setName( String name )
075        {
076            this.name = name;
077        }
078    
079        public long getSize()
080        {
081            return size;
082        }
083    
084        public void setSize( long size )
085        {
086            this.size = size;
087        }
088    
089        public String getUrl()
090        {
091            return url;
092        }
093    
094        public void setUrl( String url )
095        {
096            this.url = url;
097        }
098    
099        public String getDeleteUrl()
100        {
101            return deleteUrl;
102        }
103    
104        public void setDeleteUrl( String deleteUrl )
105        {
106            this.deleteUrl = deleteUrl;
107        }
108    
109        public String getDeleteType()
110        {
111            return deleteType;
112        }
113    
114        public void setDeleteType( String deleteType )
115        {
116            this.deleteType = deleteType;
117        }
118    
119        public String getErrorKey()
120        {
121            return errorKey;
122        }
123    
124        public void setErrorKey( String errorKey )
125        {
126            this.errorKey = errorKey;
127        }
128    
129        public String getClassifier()
130        {
131            return classifier;
132        }
133    
134        public void setClassifier( String classifier )
135        {
136            this.classifier = classifier;
137        }
138    
139    
140        public boolean isPomFile()
141        {
142            return pomFile;
143        }
144    
145        public void setPomFile( boolean pomFile )
146        {
147            this.pomFile = pomFile;
148        }
149    
150        public String getServerFileName()
151        {
152            return serverFileName;
153        }
154    
155        public void setServerFileName( String serverFileName )
156        {
157            this.serverFileName = serverFileName;
158        }
159    
160        @Override
161        public boolean equals( Object o )
162        {
163            if ( this == o )
164            {
165                return true;
166            }
167            if ( !( o instanceof FileMetadata ) )
168            {
169                return false;
170            }
171    
172            FileMetadata that = (FileMetadata) o;
173    
174            if ( !serverFileName.equals( that.serverFileName ) )
175            {
176                return false;
177            }
178    
179            return true;
180        }
181    
182        @Override
183        public int hashCode()
184        {
185            return serverFileName.hashCode();
186        }
187    
188        @Override
189        public String toString()
190        {
191            final StringBuilder sb = new StringBuilder();
192            sb.append( "FileMetadata" );
193            sb.append( "{name='" ).append( name ).append( '\'' );
194            sb.append( ", serverFileName='" ).append( serverFileName ).append( '\'' );
195            sb.append( ", size=" ).append( size );
196            sb.append( ", url='" ).append( url ).append( '\'' );
197            sb.append( ", deleteUrl='" ).append( deleteUrl ).append( '\'' );
198            sb.append( ", deleteType='" ).append( deleteType ).append( '\'' );
199            sb.append( ", errorKey='" ).append( errorKey ).append( '\'' );
200            sb.append( ", classifier='" ).append( classifier ).append( '\'' );
201            sb.append( ", pomFile=" ).append( pomFile );
202            sb.append( '}' );
203            return sb.toString();
204        }
205    }