/*
Copyright (C) 2005 David Green <green@couchpotato.net>
All Rights Reserved.

This file is part of Aelfengard.

Aelfengard is proprietary software. You may not redistribute it without
prior written permission from the copyright holder.
*/

package server;

import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Collection;

public class Container implements Externalizable {

    private static final long serialVersionUID = -673971783108410738L;

    private ContainerHolder holder;
    
    public Container() {
        // for deserialization
    }

    public Container(ContainerHolder holder) {
        this.holder = holder;
    }
    
    public ContainerHolder getHolder() {
        return holder;
    }

    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeInt(1); // protocol version
        out.writeObject(holder);
    }

    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
        in.readInt(); // protocol version
        holder = (ContainerHolder) in.readObject();
    }

    public Collection<Item> getItems() {
        return ParentTracker.ITEM.getChildrenOf(this);
    }
    
}