remove obsolete dialog
[idea/community.git] / jps / jps-builders / src / org / jetbrains / jps / incremental / CompiledClass.java
1 /*
2  * Copyright 2000-2012 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.jps.incremental;
17
18 import com.intellij.openapi.util.UserDataHolderBase;
19 import com.intellij.openapi.util.io.FileUtil;
20 import org.jetbrains.annotations.NotNull;
21 import org.jetbrains.annotations.Nullable;
22
23 import java.io.File;
24 import java.io.IOException;
25
26 /**
27  * @author Eugene Zhuravlev
28  *         Date: 11/18/12
29  */
30 public class CompiledClass extends UserDataHolderBase{
31   @NotNull
32   private final File myOutputFile;
33   @NotNull
34   private final File mySourceFile;
35   @Nullable
36   private final String myClassName;
37   @NotNull
38   private BinaryContent myContent;
39
40   private boolean myIsDirty = false;
41
42   public CompiledClass(@NotNull File outputFile, @NotNull File sourceFile, @Nullable String className, @NotNull BinaryContent content) {
43     myOutputFile = outputFile;
44     mySourceFile = sourceFile;
45     myClassName = className;
46     myContent = content;
47   }
48
49   public  void save() throws IOException {
50     myContent.saveToFile(myOutputFile);
51     myIsDirty = false;
52   }
53
54   @NotNull
55   public File getOutputFile() {
56     return myOutputFile;
57   }
58
59   @NotNull
60   public File getSourceFile() {
61     return mySourceFile;
62   }
63
64   @Nullable
65   public String getClassName() {
66     return myClassName;
67   }
68
69   @NotNull
70   public BinaryContent getContent() {
71     return myContent;
72   }
73
74   public void setContent(@NotNull BinaryContent content) {
75     myContent = content;
76     myIsDirty = true;
77   }
78
79   public boolean isDirty() {
80     return myIsDirty;
81   }
82
83   @Override
84   public boolean equals(Object o) {
85     if (this == o) return true;
86     if (o == null || getClass() != o.getClass()) return false;
87
88     CompiledClass aClass = (CompiledClass)o;
89
90     if (!FileUtil.filesEqual(myOutputFile, aClass.myOutputFile)) return false;
91
92     return true;
93   }
94
95   @Override
96   public int hashCode() {
97     return FileUtil.fileHashCode(myOutputFile);
98   }
99
100   @Override
101   public String toString() {
102     return "CompiledClass{" +
103            "myOutputFile=" + myOutputFile +
104            ", mySourceFile=" + mySourceFile +
105            ", myIsDirty=" + myIsDirty +
106            '}';
107   }
108 }