package com.fr.start.common;

import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLable;
import com.fr.stable.xml.XMLableReader;

public class DesignerStartupConfig implements XMLable {
    
    public static final String XML_TAG = "DesignerStartupConfig";
    
    private static final long serialVersionUID = -8170289826729582122L;
    
    private static final DesignerStartupConfig INSTANCE = new DesignerStartupConfig();
    
    public static DesignerStartupConfig getInstance() {
    
        return INSTANCE;
    }
    
    /**
     * 默认值是 false
     */
    private boolean enabled = false;
    
    public boolean isEnabled() {
        return enabled;
    }
    
    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }
    
    
    @Override
    public Object clone() throws CloneNotSupportedException {
        DesignerStartupConfig config = new DesignerStartupConfig();
        config.setEnabled(true);
        return config;
    }
    
    @Override
    public void readXML(XMLableReader reader) {
        if (reader.isAttr()) {
            this.setEnabled(reader.getAttrAsBoolean("isEnabled", false));
        }
    }
    
    @Override
    public void writeXML(XMLPrintWriter writer) {
        writer.startTAG(XML_TAG);
        writer.attr("isEnabled", this.isEnabled());
        writer.end();
    }
    
}