blob: b141a1961e703d407fa4602301676f399650d19b [file] [log] [blame]
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* 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.intellij.openapi.vcs.changes.ui;
public class ChangeListRemoteState {
// true -> ok
private final boolean[] myChangeStates;
public ChangeListRemoteState(final int size) {
myChangeStates = new boolean[size];
for (int i = 0; i < myChangeStates.length; i++) {
myChangeStates[i] = true;
}
}
public void report(final int idx, final boolean state) {
myChangeStates[idx] = state;
}
public boolean getState() {
boolean result = true;
for (boolean state : myChangeStates) {
result &= state;
}
return result;
}
public static class Reporter {
private final int myIdx;
private final ChangeListRemoteState myState;
public Reporter(int idx, ChangeListRemoteState state) {
myIdx = idx;
myState = state;
}
public void report(final boolean state) {
myState.report(myIdx, state);
}
}
}