// Copyright 2012 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.collide.client.codeunderstanding;
/**
* Immutable value object holding information about what fields of
* {@link CubeData} has been updated.
*/
public class CubeDataUpdates {
public static final CubeDataUpdates NO_UPDATES =
new CubeDataUpdates(false, false, false, false, false);
private final boolean fileTree;
private final boolean fullGraph;
private final boolean libsSubgraph;
private final boolean workspaceTree;
private final boolean fileReferences;
public CubeDataUpdates(boolean fileTree, boolean fullGraph, boolean libsSubgraph,
boolean workspaceTree, boolean fileReferences) {
this.fileTree = fileTree;
this.fullGraph = fullGraph;
this.libsSubgraph = libsSubgraph;
this.workspaceTree = workspaceTree;
this.fileReferences = fileReferences;
}
public boolean isFileTree() {
return fileTree;
}
public boolean isFullGraph() {
return fullGraph;
}
public boolean isLibsSubgraph() {
return libsSubgraph;
}
public boolean isWorkspaceTree() {
return workspaceTree;
}
public boolean isFileReferences() {
return fileReferences;
}
@Override
public String toString() {
return "CubeDataUpdates{" +
"\n fileTree=" + fileTree +
",\n fullGraph=" + fullGraph +
",\n libsSubgraph=" + libsSubgraph +
",\n workspaceTree=" + workspaceTree +
",\n fileReferences=" + fileReferences +
"\n}";
}
public static boolean hasUpdates(CubeDataUpdates updates) {
return updates.fileTree || updates.fullGraph || updates.libsSubgraph || updates.workspaceTree
|| updates.fileReferences;
}
}