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

## org.apache.tapestry5.internal.util
Class NamedSet<T>

    java.lang.Object
      org.apache.tapestry5.ioc.internal.util.LockSupport
          org.apache.tapestry5.internal.util.NamedSet<T>

Type Parameters:
  `T` - the type of value stored

    public class NamedSet<T>

extends LockSupport

Simple, thread-safe associative array that relates a name to a value. Names are case-insensitive. This is optimized to use less memory (than a `CaseInsensitiveMap` (it uses a singly-liked list), though the cost of a lookup is more expensive. However, this is a good match against many of the structures inside a page instance, where most lookups occur only during page constructions, and the number of values is often small.

Each NameSet has its own `ReadWriteLock`.

Constructor Summary
`NamedSet()`

Method Summary
`static
`<T> NamedSet<T>`
` | `create()` Convenience method for creating a new, empty set.
`void` | `eachValue(Worker<T> worker)` Iterates over the values, passing each in turn to the supplied worker.
`static
`<T> T`
` | `get(NamedSet<T> set, java.lang.String name)` Convenience method for getting a value from a set that may be null.
`T` | `get(java.lang.String name)` Gets the value for the provided name.
`java.util.Set<java.lang.String>` | `getNames()` Returns a set of the names of all stored values.
`static java.util.Set<java.lang.String>` | `getNames(NamedSet<?> set)` Gets the names in the set, returning an empty set if the NamedSet is null.
`java.util.Set<T>` | `getValues()` Returns a set of all the values in the set.
`static
`<T> java.util.Set<T>`
` | `getValues(NamedSet<T> set)` Returns the values in the set, returning an empty set if the NamedSet is null.
`void` | `put(java.lang.String name, T newValue)` Stores a new value into the set, replacing any previous value with the same name.
`boolean` | `putIfNew(java.lang.String name, T newValue)` Puts a new value, but only if it does not already exist.

Methods inherited from class org.apache.tapestry5.ioc.internal.util.LockSupport
`acquireReadLock, downgradeWriteLockToReadLock, releaseReadLock, releaseWriteLock, takeWriteLock, upgradeReadLockToWriteLock`

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

Constructor Detail

### NamedSet

    public NamedSet()

Method Detail

### getNames

    public java.util.Set<java.lang.String> getNames()

  Returns a set of the names of all stored values.

### getValues

    public java.util.Set<T> getValues()

  Returns a set of all the values in the set.

### get

    public T get(java.lang.String name)

  Gets the value for the provided name.

  Parameters:
    `name` - used to locate the value
  Returns:
    the value, or null if not found

### put

    public void put(java.lang.String name,
                    T newValue)

  Stores a new value into the set, replacing any previous value with the same name. Name comparisons are case insensitive.

  Parameters:
    `name` - to store the value. May not be blank.
    `newValue` - non-null value to store

### eachValue

    public void eachValue(Worker<T> worker)

  Iterates over the values, passing each in turn to the supplied worker.

  Parameters:
    `worker` - performs an operation on, or using, the value

### putIfNew

    public boolean putIfNew(java.lang.String name,
                            T newValue)

  Puts a new value, but only if it does not already exist.

  Parameters:
    `name` - name to store (comparisons are case insensitive) may not be blank
    `newValue` - non-null value to store
  Returns:
    true if value stored, false if name already exists

### create

    public static <T> NamedSet<T> create()

  Convenience method for creating a new, empty set.

### get

    public static <T> T get(NamedSet<T> set,
                            java.lang.String name)

  Convenience method for getting a value from a set that may be null.

  Type Parameters:
    `T` -
  Parameters:
    `set` - set to search, may be null
    `name` - name to lookup
  Returns:
    value from set, or null if not found, or if set is null

### getNames

    public static java.util.Set<java.lang.String> getNames(NamedSet<?> set)

  Gets the names in the set, returning an empty set if the NamedSet is null.

### getValues

    public static <T> java.util.Set<T> getValues(NamedSet<T> set)

  Returns the values in the set, returning an empty set if the NamedSet is null.

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

Copyright © 2003-2012 The Apache Software Foundation.