EA-60956 - assert: DocumentImpl.doRemoveDocumentListener
[idea/community.git] / plugins / svn4idea / src / org / jetbrains / idea / svn / update / UpdateRootInfo.java
1 /*
2  * Copyright 2000-2009 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.jetbrains.idea.svn.update;
17
18 import org.jetbrains.idea.svn.SvnVcs;
19 import org.jetbrains.idea.svn.info.Info;
20 import org.tmatesoft.svn.core.SVNException;
21 import org.tmatesoft.svn.core.SVNURL;
22 import org.tmatesoft.svn.core.wc.SVNRevision;
23
24 import java.io.File;
25
26 public class UpdateRootInfo {
27   private String myUrl;
28   private SVNRevision myRevision;
29   private boolean myUpdateToSpecifiedRevision = false;
30
31   public UpdateRootInfo(File file, SvnVcs vcs) {
32     myRevision = SVNRevision.HEAD;
33
34     Info info = vcs.getInfo(file);
35     myUrl = info != null && info.getURL() != null ? info.getURL().toString() : "";
36   }
37
38   public SVNURL getUrl() {
39     try {
40       return SVNURL.parseURIEncoded(myUrl);
41     }
42     catch (SVNException e) {
43       return null;
44     }
45   }
46
47   public String getUrlAsString() {
48     return myUrl;
49   }
50
51   public SVNRevision getRevision() {
52     return myRevision;
53   }
54
55   public boolean isUpdateToRevision() {
56     return myUpdateToSpecifiedRevision;
57   }
58
59   public void setUrl(final String text) {
60     myUrl = text;
61   }
62
63   public void setUpdateToRevision(final boolean value) {
64     myUpdateToSpecifiedRevision = value;
65   }
66
67   public void setRevision(final SVNRevision svnRevision) {
68     myRevision =svnRevision;
69   }
70 }