⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 component.java

📁 cisco-2950交换机的应用程序的源代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   Component.java

package cisco.dsbu.cms.boot.internal;

import cisco.dsbu.cms.boot.internal.ccl.ClassData;
import cisco.dsbu.cms.boot.internal.xmllite.CharString;
import cisco.dsbu.cms.boot.internal.xmllite.Handler;
import cisco.dsbu.cms.boot.internal.xmllite.ParseException;
import cisco.dsbu.cms.boot.internal.xmllite.Parser;

// Referenced classes of package cisco.dsbu.cms.boot.internal:
//            VersionXml, Package, ClassFile

class Component
    implements Handler, VersionXml, ClassData
{

    private static final byte NOT_LOADED = 0;
    private static final byte LOADED = 1;
    private static final byte NOT_FOUND = 2;
    private Package container;
    private String name;
    private boolean isSigned;
    private int version;
    private int size;
    private String markedSuper;
    private boolean isLatest;
    private byte loadState;
    private byte contents[];
    private CharString currElem;

    Component(Package package1)
    {
        isLatest = false;
        loadState = 0;
        container = package1;
    }

    String getName()
    {
        return name;
    }

    int getSize()
    {
        return size;
    }

    Package getPackage()
    {
        return container;
    }

    boolean isLatest()
    {
        return isLatest;
    }

    void setLatest(boolean flag)
    {
        if(isLatest != flag)
        {
            isLatest = flag;
            container.updateNumLatest(flag);
        }
    }

    String getMarkedSuper()
    {
        return markedSuper;
    }

    String getClassName()
    {
        return ClassFile.getClassName(name);
    }

    synchronized void setContents(byte abyte0[])
    {
        contents = abyte0;
        loadState = 1;
        notifyAll();
    }

    synchronized void setContentsNotFound()
    {
        if(!isLatest)
        {
            return;
        } else
        {
            loadState = 2;
            notifyAll();
            return;
        }
    }

    synchronized boolean isContentsLoaded()
    {
        return loadState == 1;
    }

    synchronized boolean isContentsNotFound()
    {
        return loadState == 2;
    }

    public synchronized byte[] getContents()
    {
        return contents;
    }

    synchronized void setSigned(boolean flag)
    {
        isSigned = flag;
    }

    public synchronized boolean isSigned()
    {
        return isSigned;
    }

    boolean isNewerThan(Component component)
    {
        return name.equals(component.name) && version > component.version;
    }

    public boolean equals(Object obj)
    {
        if(obj == null)
            return false;
        Component component;
        try
        {
            component = (Component)obj;
        }
        catch(ClassCastException classcastexception)
        {
            return false;
        }
        if(!name.equals(component.name))
            return false;
        return version == component.version;
    }

    public int hashCode()
    {
        return name.hashCode();
    }

    public void startDocument(Parser parser)
        throws ParseException
    {
        throw new ParseException(parser, "Unexpected start-of-document");
    }

    public CharString startElement(Parser parser, CharString charstring)
        throws ParseException
    {
        currElem = null;
        if(charstring.equals(VersionXml.NAME))
            currElem = VersionXml.NAME;
        else
        if(charstring.equals(VersionXml.VERSION))
            currElem = VersionXml.VERSION;
        else
        if(charstring.equals(VersionXml.SIZE))
            currElem = VersionXml.SIZE;
        else
        if(charstring.equals(VersionXml.MARKED_SUPER))
            currElem = VersionXml.MARKED_SUPER;
        return currElem;
    }

    public void elementData(Parser parser, CharString charstring)
        throws ParseException
    {
        if(currElem == VersionXml.NAME)
            name = charstring.toString();
        else
        if(currElem == VersionXml.VERSION)
            version = charstring.toInt();
        else
        if(currElem == VersionXml.SIZE)
            size = charstring.toInt();
        else
        if(currElem == VersionXml.MARKED_SUPER)
            markedSuper = charstring.toString();
    }

    public void endElement(Parser parser, CharString charstring)
        throws ParseException
    {
        if(charstring.equals(VersionXml.COMPONENT))
            parser.popHandler();
    }

    public void endDocument(Parser parser)
        throws ParseException
    {
        throw new ParseException(parser, "Unexpected end-of-document");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -