package name.abuchen.portfolio.snapshot.filter;
import java.util.Objects;
import name.abuchen.portfolio.model.Account;
import name.abuchen.portfolio.model.Client;
import name.abuchen.portfolio.model.Portfolio;
import name.abuchen.portfolio.model.Security;
public class ReadOnlyClient extends Client
{
private final Client source;
ReadOnlyClient(Client source)
{
super();
this.source = Objects.requireNonNull(source);
}
public Client getSource()
{
return source;
}
@Override
public void addSecurity(Security security)
{
throw new UnsupportedOperationException();
}
void internalAddSecurity(Security security)
{
super.addSecurity(security);
}
@Override
public void removeSecurity(Security security)
{
throw new UnsupportedOperationException();
}
@Override
public void addAccount(Account account)
{
throw new UnsupportedOperationException();
}
void internalAddAccount(Account account)
{
super.addAccount(account);
}
@Override
public void removeAccount(Account account)
{
throw new UnsupportedOperationException();
}
@Override
public void addPortfolio(Portfolio portfolio)
{
throw new UnsupportedOperationException();
}
void internalAddPortfolio(Portfolio portfolio)
{
super.addPortfolio(portfolio);
}
@Override
public void removePortfolio(Portfolio portfolio)
{
throw new UnsupportedOperationException();
}
}