/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.debug.shared.model.impl; import org.eclipse.che.api.debug.shared.dto.StackFrameDumpDto; import org.eclipse.che.api.debug.shared.model.Field; import org.eclipse.che.api.debug.shared.model.StackFrameDump; import org.eclipse.che.api.debug.shared.model.Variable; import java.util.Collections; import java.util.List; /** * @author Anatoliy Bazko */ public class StackFrameDumpImpl implements StackFrameDump { private final List<? extends Field> fields; private final List<? extends Variable> variables; public StackFrameDumpImpl(List<? extends Field> fields, List<? extends Variable> variables) { this.fields = fields; this.variables = variables; } public StackFrameDumpImpl(StackFrameDumpDto dto) { this(dto.getFields(), dto.getVariables()); } @Override public List<Field> getFields() { return Collections.unmodifiableList(fields); } @Override public List<Variable> getVariables() { return Collections.unmodifiableList(variables); } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof StackFrameDumpImpl)) return false; StackFrameDumpImpl that = (StackFrameDumpImpl)o; if (fields != null ? !fields.equals(that.fields) : that.fields != null) return false; return !(variables != null ? !variables.equals(that.variables) : that.variables != null); } @Override public int hashCode() { int result = fields != null ? fields.hashCode() : 0; result = 31 * result + (variables != null ? variables.hashCode() : 0); return result; } }