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

📄 attribute.java

📁 很棒的web服务器源代码
💻 JAVA
字号:
// Attribute.java// $Id: Attribute.java,v 1.4 2000/08/16 21:37:55 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.tools.resources.upgrade ;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.Serializable;/** * Instances of this class describe an attribute of a resource. */abstract public class Attribute implements Serializable {    /**     * Flags value - This attribute is computed from the resource state.     */    public static final int COMPUTED = (1<<0) ;    /**     * Flag value - This attribute is editable.     */    public static final int EDITABLE = (1<<1) ;    /**     * Flag value - This attribute is mandatory.     */    public static final int MANDATORY = (1<<2) ;    /**     * Flag value - This attribute shouldn't be saved.     */    public static final int DONTSAVE = (1<<3) ;    /**     * The attribute name.     */    protected String name = null ;    /**     * The attribute's value type, as the name of its class.     */    protected String type = null ;    /**     * The attribute's default value.     */    private transient Object defvalue = null ;    /**     * The associated flags (see the predefined flags).     */    protected int flags = 0 ;    /**     * Get this attribute name.     * @return A String giving the attribute name.     */    public String getName() {	return name ;    }    /**     * Get this attribute type.     */    public String getType() {	return type ;    }    /**     * Check some flag on this attribute description.     */    public boolean checkFlag(int tst) {	return (flags & tst) == tst ;    }    /**     * Get this attribute default value.     * @return A default value for this attribute (may be     *    <strong>null</strong>).     */    public Object getDefault() {	return defvalue ;    }    /**     * Stringify a value of this kind.     * @param obj The value to stringify.     */    public String stringify (Object value) {	return value.toString() ;    }    /**     * Is the provided object a suitable value for this attribute ?     * If so, store it into the given store.     * @param value The value to check.     * @param store The array to store the value to if succeed.     * @param idx The location in the above array.     * @return A boolean <strong>true</strong> if this object can be used     *    as a value for this attribute.     * @exception IllegalAttributeAccess If the provided value doesn't match     *    the expected type.     */    abstract    public boolean checkValue(Object value) ;    /**     * Get number of bytes needed to pickle that attribute.     * This method is always called before pickling an attribute, to     * get the length of that attribute value, and record it before saving     * the actual bytes. This allows, for example, to skip attribute whose     * definition was removed from a class.      * <p>In an ASCII format, this plays a role similar to emitting     * a newline.     * @param value The value that is about to be pickled.     * @return The number of bytes needed to pickle that value.     */    abstract     public int getPickleLength(Object value);    /**     * Pickle an attribute of this type to the given stream.     * This method is used to make attribute values persistent, the pickle     * method should dump the provided value in whatever format, provided     * its unpickle method is able to restore it.     * @param out The DataOutputStream to dump the object to.     * @param obj The object to pickle.     * @exception IOException If some IO error occured while dump the     *    attribute.     */    abstract    public void pickle(DataOutputStream out, Object obj) 	throws IOException;    /**     * Unpickle an attribute of this type from the given stream.     * This method is used to restore a pickled attribute value from the given     * stream. It should read in the format it used at pickle time, and     * consume the same number of bytes from the stream.     * @param in The DataInputStream to read from.     * @return The object value.     * @exception IOException If some IOError occured while reading the stream.     */    abstract     public Object unpickle(DataInputStream in)	throws IOException ;    /**     * Private constructore to create a new resource attribute description.     * @param name The name of the attribute.     * @param type Its type (as a Java class).     * @param def Its default value.     * @param flags Its associated flags.     */    public Attribute(String name, Object def, Integer flags) {	this.name     = name ;	this.defvalue = def ;	this.flags    = flags.intValue() ;    }}

⌨️ 快捷键说明

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