sim.util.README Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mason Show documentation
Show all versions of mason Show documentation
MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
The newest version!
sim/util
This package holds utility classes on which MASON relies to do its
magic, but which don't have anything to do with MASON per se. All of
these classes can be extracted and used for other tasks and don't rely
on anything outside of sim/util.
The subpackages are:
gui Utility classes for GUI development
media Utility classes for media: pictures, movies, charts, etc.
Classes:
Heap.java
A basic binomial heap.
Bag.java
A replacement for ArrayList, as ArrayList appears to have been coded by
monkeys. Bag's add, set, and get methods are much faster than
ArrayList. Additionally, Bag gives you direct access to the array if
you need more speed still.
IntBag.java
The same class as Bag, but which stores integers rather than Objects.
DoubleBag.java
The same class as Bag, but which stores doubles rather than Objects.
Int2D.java
An immutable (non-changeable) object storing two integers, x and y.
Properly hashes by value.
MutableInt2D.java
A mutable object storing two integers, x and y. Essentially the same
object as java.awt.Point, only with hashing equal to Int2D. Further,
Point's hashing is basically broken (Point also appears to have been
written by the mentally deficient).
Int3D.java
An immutable (non-changeable) object storing three integers, x, y, and
z. Properly hashes by value.
MutableInt3D.java
A mutable object storing three integers, x, y, and z, and which hashes
equivalently to Int3D.
Double2D.java
An immutable (non-changeable) object storing two doubles, x and y.
Properly hashes by value.
MutableDouble3D.java
A mutable object storing two doubles, x and y. Essentially the same
object as java.awt.Point2D.Double, only with hashing equal to Double2D.
Like java.awt.Point, java.awt.Point2D.Double appears to have been
written by morons.
Double3D.java
An immutable (non-changeable) object storing three doubles, x, y, and z.
Properly hashes by value.
MutableDoubleD.java
A mutable object storing three doubles, x, y, and z, and which hashes
equivalently to Double3D.
DoubleDimension2D.java
A concrete subclass of java.awt.Dimension2D which uses doubles or
floats. Oddly, Java didn't provide this (though they have ones for
Rectangle and Point).
MutableDouble.java
A simple class which holds a double and can be modified. Sort of like a
mutable version of java.lang.Double.
Interval.java
A simple class declaring a numerical range.
Indexed.java
A simpler interface than the one for List for accessing random-access
objects in a vector.
Valuable.java
A declaration that a particular object returns a double 'value'.
Propertied.java
A declaration that a particular object provides Java Bean properties
dynamically rather than by being scanned.
Proxiable.java
A declaration that a particular object will provide a *different* object
to stand for it with regard to Java Bean properties.
Properties.java
A abstract superclass class for Properties-examining classes.
SimpleProperties.java
A class for examining and manipulating the Java Bean Properties of an
object. Subclasses from Properties.java.
CollectionPropertis.java
A class for examining and manipulating the slots of an array, Bag, List,
etc. as if they were Java Bean Properties. Subclasses from
Properties.java.
WordWrap.java
A simple class for doing basic word wrapping in text fields and labels.
CausedRuntimeException.java
A simple RuntimeException which stores an additional Throwable as its
"cause". This is standard fare in Java versions 1.4 and further but in
1.3 it doesn't exist. Now it does!
Utilities.java
A collection of random utility methods which don't fit anywhere else.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy