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

📄 propertyset.java

📁 很棒的web服务器源代码
💻 JAVA
字号:
// PropertySet.java// $Id: PropertySet.java,v 1.16 2000/08/16 21:37:34 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.jigsaw.config ;import java.util.Hashtable;import java.io.File;import org.w3c.tools.resources.Attribute;import org.w3c.tools.resources.AttributeHolder;import org.w3c.tools.resources.AttributeRegistry;import org.w3c.tools.resources.BooleanAttribute;import org.w3c.tools.resources.ClassAttribute;import org.w3c.tools.resources.DoubleAttribute;import org.w3c.tools.resources.FileAttribute;import org.w3c.tools.resources.FrameArrayAttribute;import org.w3c.tools.resources.IllegalAttributeAccess;import org.w3c.tools.resources.IntegerAttribute;import org.w3c.tools.resources.LongAttribute;import org.w3c.tools.resources.Resource;import org.w3c.tools.resources.StringArrayAttribute;import org.w3c.tools.resources.StringAttribute;import org.w3c.util.ObservableProperties;import org.w3c.jigsaw.http.httpd;public class PropertySet extends Resource {    protected httpd   server         = null;    static {	Class     c = null;	Attribute a = null;	try {	    c = Class.forName("org.w3c.jigsaw.config.PropertySet");	} catch (Exception ex) {	    ex.printStackTrace();	    System.exit(1);	}    }    /**     * Get this property set title.     * @return A String encoding the title of the property set.     */    public String getTitle() {	return getIdentifier()+" property set.";    }    /**     * Get this resource's help url.     * @return An URL, encoded as a String, or <strong>null</strong> if not     * available.     */    public String getHelpURL() {	String docurl = server.getDocumentationURL();	if ( docurl == null )	    return null;	return docurl + "/" + getClass().getName() + ".html";    }    /**     * Get the help URL for that resource's attribute.     * @param topic The topic (can be an attribute name, or a property, etc).     * @return A String encoded URL, or <strong>null</strong>.     */    public String getHelpURL(String topic) {	String docurl = server.getDocumentationURL();	if ( docurl == null )	    return null;	Class defines = AttributeRegistry.getAttributeClass(getClass(), topic);	if ( defines != null ) 	    return docurl + "/" + defines.getName() + ".html";	return null;    }    /**     * Set value forwards the effectation to the properties.     * @param idx The attribute (property in that case) being set.     * @param value The new value for that property.     */    public synchronized void setValue(int idx, Object value) {	// Check access (we don't care about side effects)	super.setValue(idx, value);	if ( idx > ATTR_LAST_MODIFIED ) {	    Attribute a = attributes[idx];	    if ( value == null ) {		server.getProperties().remove(a.getName());	    } else {		if ( ! server.getProperties().putValue(a.getName()						       , a.stringify(value)) )		    throw new IllegalAttributeAccess(this						     , getAttributes()[idx]						     , value);	    }	}    }    protected Object convertingGet(httpd s, Attribute a, Object def) {	ObservableProperties p = s.getProperties();	def = (def == null) ? a.getDefault() : def;	if ( a instanceof FileAttribute ) {	    return p.getFile(a.getName(), (File) def);	} else if ( a instanceof StringAttribute ) {	    return p.getString(a.getName(), (String) def);	} else if ( a instanceof IntegerAttribute ) {	    int d = (def == null) ? -1 : ((Integer) def).intValue();	    int i = p.getInteger(a.getName(), d);	    return new Integer(i); 	} else if ( a instanceof LongAttribute ) {	    long d = (def == null) ? -1 : ((Long) def).longValue();	    long l = p.getLong(a.getName(), d);	    return new Long(l); 	} else if ( a instanceof BooleanAttribute ) {	    boolean b = p.getBoolean(a.getName(), (def == Boolean.TRUE));	    return b ? Boolean.TRUE : Boolean.FALSE;	} else if ( a instanceof ClassAttribute ) {	    try {		String cn = p.getString(a.getName(), null);		if ( cn == null )		    return def;		return Class.forName(cn);	    } catch (Exception ex) {		throw new RuntimeException("Invalid class name.");	    }	} else if ( a instanceof StringArrayAttribute ) {	    return p.getStringArray(a.getName(), null);	} else if ( a instanceof DoubleAttribute ) {	    double d = ((def == null) 			? Double.NaN 			: ((Double) def).doubleValue());	    d = p.getDouble(a.getName(), d);	    return (d == Double.NaN) ? def : new Double(d);	} else if ( a instanceof FrameArrayAttribute ) {	    return null; // ugly hack FIXME	} else {	    throw new RuntimeException("// FIXME !!!");	}    }    public Object getValue(int idx, Object def) {	// Check access (again we don't care about side effectes)	if ( idx <= ATTR_LAST_MODIFIED )	    return super.getValue(idx, def);	return convertingGet(server, attributes[idx], def);    }    public Object unsafeGetValue(int idx, Object def) {	// Check access (again we don't care about side effectes)	if ( idx <= ATTR_LAST_MODIFIED )	    return super.unsafeGetValue(idx, def);	return convertingGet(server, attributes[idx], def);    }       public PropertySet(String name, httpd server) {	super();	this.server = server;	setValue(ATTR_IDENTIFIER, name);    }    public void initialize(Object values[]) {	super.initialize(values);	attributes[ATTR_IDENTIFIER] = new StringAttribute("identifier"							  , null							  , 0);    }}

⌨️ 快捷键说明

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