java

package Suman.Algorithm;


// Referenced classes of package Suman.Algorithm:
//            AbstractObject, Container, Enumeration, Visitor,
//            AbstractVisitor

public abstract class AbstractContainer extends AbstractObject
    implements Container
{

    public AbstractContainer()
    {
    }

    public int getCount()
    {
        return count;
    }

    public boolean isEmpty()
    {
        return getCount() == 0;
    }

    public boolean isFull()
    {
        return false;
    }

    public void accept(Visitor visitor)
    {
        for(Enumeration enumeration = getEnumeration(); enumeration.hasMoreElements() && !visitor.isDone(); visitor.visit(enumeration.nextElement()));
    }

    public String toString()
    {
        final StringBuffer buffer = new StringBuffer();
        AbstractVisitor abstractvisitor = new AbstractVisitor() {

            public void visit(Object obj)
            {
                if(comma)
                    buffer.append(", ");
                buffer.append(obj);
                comma = true;
            }

            private boolean comma;

        };
        accept(abstractvisitor);
        return getClass().getName() + " {" + buffer + "}";
    }

    public int hashCode()
    {
        AbstractVisitor abstractvisitor = new AbstractVisitor() {

            public void visit(Object obj)
            {
                value += obj.hashCode();
            }

            public int hashCode()
            {
                return value;
            }

            private int value;

        };
        accept(abstractvisitor);
        return getClass().hashCode() + abstractvisitor.hashCode();
    }

    public abstract Enumeration getEnumeration();

    public abstract void purge();

    final String copyright = "@(#) Copyright (c) 2003 by Mahbub Murshed Suman";
    protected int count;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值