/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.target.lazy;
import java.util.List;
import com.opengamma.core.position.PortfolioNode;
import com.opengamma.core.position.Position;
import com.opengamma.engine.ComputationTargetResolver;
import com.opengamma.engine.ComputationTargetSpecification;
import com.opengamma.id.UniqueId;
/**
* A portfolio node implementation that may not be fully resolved at construction but will appear fully resolved when used.
*/
public class LazyTargetResolverPortfolioNode extends LazyTargetResolverObject implements PortfolioNode {
public LazyTargetResolverPortfolioNode(final ComputationTargetResolver.AtVersionCorrection resolver, final ComputationTargetSpecification specification) {
super(resolver, specification);
}
protected PortfolioNode getResolved() {
return getResolvedTarget().getPortfolioNode();
}
@Override
public UniqueId getParentNodeId() {
return getResolved().getParentNodeId();
}
@Override
public int size() {
return getResolved().size();
}
@Override
public List<PortfolioNode> getChildNodes() {
return getResolved().getChildNodes();
}
@Override
public List<Position> getPositions() {
return getResolved().getPositions();
}
@Override
public String getName() {
return getResolved().getName();
}
}