ConfigFileNode.java |
/* * */ package de.spieleck.config; import java.io.*; import java.util.Set; import java.util.HashSet; import de.spieleck.net.URLTools; /** * A ConfigNode that is responsible for actually holding nodes * from a file. <B>Note:</B> Due to independance of logical and * file structure these nodes are only spurious in the logical part * of the tree. They are kept however to hold propper dependencies * of nodes on files. * @author FSN */ public class ConfigFileNode extends ConfigNodeImpl implements ConfigNode { protected String fName; protected File inFile = null; protected long lastModified = -1; protected Set subReadNodes = null; /* package */ ConfigFileNode(String name, String value, String fName, ConfigParamMap pm) { super(name, value, pm); this.fName = fName; if (fName != null) { fName = URLTools.getFileString(fName); inFile = new File(fName); if (inFile != null) lastModified = inFile.lastModified(); } } protected void setParent(ConfigNode p) { super.setParent(p); if (p != null) p.getBranchNode().addSubReader(this); } protected void addSubReader(ConfigNode subReader) { if (subReadNodes == null) subReadNodes = new HashSet(8); subReadNodes.add(subReader); } public String getSourceFileName() { return fName; } public ConfigFileNode getBranchNode() { return this; } } // // Jacson - Text Filtering with Java. // Copyright (C) 2002 Frank S. Nestel (nestefan -at- users.sourceforge.net) // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
ConfigFileNode.java |