axiomentryprovider.java.svn-base

来自「一个JAVA程序员的游戏」· SVN-BASE 代码 · 共 76 行

SVN-BASE
76
字号
/*
 * AxiomEntryProvider.java
 *
 * Created on 21. Januar 2007, 21:32
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package kanjitori.entry;

import axiom.Axiom;
import axiom.XmlSetter;
import java.io.IOException;
import java.util.List;
import kanjitori.graphics.bot.Bot;
import kanjitori.Entry;
import kanjitori.EntryProvider;
import org.xml.sax.SAXException;

/**
 *
 * @author Pirx
 */
public class AxiomEntryProvider extends AbstractEntryProvider implements EntryProvider {
    
    private String key;
    private String value;
    
    /** Creates a new instance of AxiomEntryProvider */
    public AxiomEntryProvider(String fileName) {
        try {
            Axiom.getInstance().load(this, fileName);
        } catch (SAXException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    
    @XmlSetter( tag="level", attrib="bot" )
    public void setBot(String botClassName) {
                 try {
                    Class clazz = Class.forName(botClassName);
                    if (Bot.class.isAssignableFrom(clazz)) {
                        botClazz = (Class<? extends Bot>) clazz;
                    } else {
                        throw new IllegalArgumentException("no bot class");
                    }
                } catch (ClassNotFoundException ex) {
                    ex.printStackTrace();
                }       
    }
    
    
    @XmlSetter( tag="entry", attrib="key" )
    public void addKey(String key) {
        this.key = key;
        if (value != null) {
            entries.add(new Entry(key, value));
            this.key = null;
            this.value = null;
        }
    }
    
    @XmlSetter( tag="entry", attrib="value" )
    public void addValue(String value) {
        this.value = value;
        if (key != null) {
            entries.add(new Entry(key, value));
            this.key = null;
            this.value = null;
        }
    }
}

⌨️ 快捷键说明

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