/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.integration.tool.enginedebugger.node;
import java.util.ArrayList;
import java.util.List;
import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
/**
* Node containing an ExternalIdBundle
*/
public class ExternalIdBundleNode implements TreeTableNode {
private static final String NAME = "ExternalIdBundle";
private ExternalIdBundle _externalIdBundle;
private List<ExternalId> _externalIds;
@SuppressWarnings("unused")
private Object _parent;
public ExternalIdBundleNode(Object parent, ExternalIdBundle externalIdBundle) {
_parent = parent;
_externalIdBundle = externalIdBundle;
_externalIds = new ArrayList<>(externalIdBundle.getExternalIds());
}
@Override
public Object getChildAt(int index) {
return _externalIds.get(index);
}
@Override
public int getChildCount() {
return _externalIds.size();
}
@Override
public int getIndexOfChild(Object child) {
return 0;
}
@Override
public Object getColumn(int column) {
if (column == 0) {
return NAME;
}
return null;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((_externalIdBundle == null) ? 0 : _externalIdBundle.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ExternalIdBundleNode)) {
return false;
}
ExternalIdBundleNode other = (ExternalIdBundleNode) obj;
if (_externalIdBundle == null) {
if (other._externalIdBundle != null) {
return false;
}
} else if (!_externalIdBundle.equals(other._externalIdBundle)) {
return false;
}
return true;
}
}