package name.abuchen.portfolio.snapshot.filter;
import java.util.Objects;
import name.abuchen.portfolio.model.Account;
import name.abuchen.portfolio.model.AccountTransaction;
import name.abuchen.portfolio.model.Client;
public class ReadOnlyAccount extends Account
{
private final Account source;
ReadOnlyAccount(Account source)
{
super(source.getName());
this.setCurrencyCode(source.getCurrencyCode());
this.source = Objects.requireNonNull(source);
}
public Account getSource()
{
return source;
}
@Override
public void addTransaction(AccountTransaction transaction)
{
throw new UnsupportedOperationException();
}
void internalAddTransaction(AccountTransaction transaction)
{
super.addTransaction(transaction);
}
@Override
public void shallowDeleteTransaction(AccountTransaction transaction, Client client)
{
throw new UnsupportedOperationException();
}
}