Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## sim.util
Class Properties

    java.lang.Object
      sim.util.Properties

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  CollectionProperties, SimpleProperties

public abstract class Properties
extends java.lang.Object
implements java.io.Serializable

The abstract superclass of Property inspectors. Such a beast inspects an object and returns a list of variables for which there are get and possibly set methods.

There are two such inspectors: SimpleProperties (inspects objects for their slots) and CollectionProperties (inspects Collections, Maps, and arrays for their contents). The easiest way to get an appropriate Properties subclass instance is to simply call the static method Properties.getProperties(object to inspect, .... ). See the SimpleProperties and CollectionProperties classes for

See Also:
  Serialized Form

Constructor Summary
`Properties()`

Method Summary
`java.lang.String` | `betterToString(java.lang.Object obj)` Call this to get a prettier print-name for an object -- converting arrays to a nicer format, for example.
`abstract java.lang.String` | `getName(int index)` Returns the name of the property at the given index.
`static Properties` | `getProperties(java.lang.Object object, boolean expandCollections, boolean includeSuperclasses, boolean includeGetClass)` If expandCollections is true, then if object is a Map, Indexed, or Collection, then it will be treated using CollectionProperties.
`abstract java.lang.Class` | `getType(int index)` Returns the Class (or for primitive objects, the primitive TYPE) of the property at the given index.
`protected java.lang.Class` | `getTypeConversion(java.lang.Class type)`
`abstract java.lang.Object` | `getValue(int index)` Returns the value of the property at the given index.
`boolean` | `isComposite(int index)` Returns true if the property at the given index is a "Composite" object, meaning it's not a primitive type (double, int, etc.) nor a String.
`abstract boolean` | `isReadWrite(int index)` Returns true if the property at the given index is both readable and writable (as opposed to read-only).
`abstract boolean` | `isVolatile()` Returns true if the number or order of properties could change at any time
`abstract int` | `numProperties()` Returns the number of properties discovered in the object.
`java.lang.Object` | `setValue(int index, java.lang.Object value)` Sets the current value of the property.
`java.lang.Object` | `setValue(int index, java.lang.String value)` Sets the current value of the property to the value parsed from the given string.
`protected java.lang.String` | `typeToName(java.lang.Class type)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Properties

    public Properties()

Method Detail

### getProperties

    public static Properties getProperties(java.lang.Object object,
                                           boolean expandCollections,
                                           boolean includeSuperclasses,
                                           boolean includeGetClass)

  If expandCollections is true, then if object is a Map, Indexed, or Collection, then it will be treated using CollectionProperties. Otherwise it will be treated using SimpleProperties. Arrays are always treated using CollectionProperties. If includeGetClass is true, then the Class property will be included. If includeSuperclasses is true, then any SimpleProperties will include superclasses.

### isVolatile

    public abstract boolean isVolatile()

  Returns true if the number or order of properties could change at any time

### numProperties

    public abstract int numProperties()

  Returns the number of properties discovered in the object.

### getValue

    public abstract java.lang.Object getValue(int index)

  Returns the value of the property at the given index.

### isReadWrite

    public abstract boolean isReadWrite(int index)

  Returns true if the property at the given index is both readable and writable (as opposed to read-only).

### isComposite

    public boolean isComposite(int index)

  Returns true if the property at the given index is a "Composite" object, meaning it's not a primitive type (double, int, etc.) nor a String.

### getName

    public abstract java.lang.String getName(int index)

  Returns the name of the property at the given index.

### getType

    public abstract java.lang.Class getType(int index)

  Returns the Class (or for primitive objects, the primitive TYPE) of the property at the given index.

### setValue

    public java.lang.Object setValue(int index,
                                     java.lang.Object value)

  Sets the current value of the property. Simple values (byte, int, etc.) must be boxed (into Byte, Integer, etc.). Then returns the current (hopefully changed) value of the property. Returns null if an error occurs or if the index is out of the range [0 ... numProperties() - 1 ]

### setValue

    public java.lang.Object setValue(int index,
                                     java.lang.String value)

  Sets the current value of the property to the value parsed from the given string. Then returns the current (hopefully changed) value of the property. Returns null if an error occurs or if the index is out of the range [0 ... numProperties() - 1 ]

### getTypeConversion

    protected java.lang.Class getTypeConversion(java.lang.Class type)

### betterToString

    public java.lang.String betterToString(java.lang.Object obj)

  Call this to get a prettier print-name for an object -- converting arrays to a nicer format, for example.

### typeToName

    protected java.lang.String typeToName(java.lang.Class type)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD