blob: e74b52acc7e049d5b35f6014153b8c25e6c6ad07 [file] [log] [blame]
/**
* Copyright (c) 2016-2018 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
package org.eclipse.lsp4j;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.lsp4j.WorkspaceFolder;
import org.eclipse.lsp4j.jsonrpc.validation.NonNull;
import org.eclipse.lsp4j.util.Preconditions;
import org.eclipse.xtext.xbase.lib.Pure;
import org.eclipse.xtext.xbase.lib.util.ToStringBuilder;
/**
* The workspace folder change event.
* <p>
* Since 3.6.0
*/
@SuppressWarnings("all")
public class WorkspaceFoldersChangeEvent {
/**
* The array of added workspace folders
*/
@NonNull
private List<WorkspaceFolder> added = new ArrayList<WorkspaceFolder>();
/**
* The array of the removed workspace folders
*/
@NonNull
private List<WorkspaceFolder> removed = new ArrayList<WorkspaceFolder>();
public WorkspaceFoldersChangeEvent() {
}
public WorkspaceFoldersChangeEvent(@NonNull final List<WorkspaceFolder> added, @NonNull final List<WorkspaceFolder> removed) {
this.added = Preconditions.<List<WorkspaceFolder>>checkNotNull(added, "added");
this.removed = Preconditions.<List<WorkspaceFolder>>checkNotNull(removed, "removed");
}
/**
* The array of added workspace folders
*/
@Pure
@NonNull
public List<WorkspaceFolder> getAdded() {
return this.added;
}
/**
* The array of added workspace folders
*/
public void setAdded(@NonNull final List<WorkspaceFolder> added) {
this.added = Preconditions.checkNotNull(added, "added");
}
/**
* The array of the removed workspace folders
*/
@Pure
@NonNull
public List<WorkspaceFolder> getRemoved() {
return this.removed;
}
/**
* The array of the removed workspace folders
*/
public void setRemoved(@NonNull final List<WorkspaceFolder> removed) {
this.removed = Preconditions.checkNotNull(removed, "removed");
}
@Override
@Pure
public String toString() {
ToStringBuilder b = new ToStringBuilder(this);
b.add("added", this.added);
b.add("removed", this.removed);
return b.toString();
}
@Override
@Pure
public boolean equals(final Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
WorkspaceFoldersChangeEvent other = (WorkspaceFoldersChangeEvent) obj;
if (this.added == null) {
if (other.added != null)
return false;
} else if (!this.added.equals(other.added))
return false;
if (this.removed == null) {
if (other.removed != null)
return false;
} else if (!this.removed.equals(other.removed))
return false;
return true;
}
@Override
@Pure
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((this.added== null) ? 0 : this.added.hashCode());
return prime * result + ((this.removed== null) ? 0 : this.removed.hashCode());
}
}