|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jvnet.ws.message.PropertySet
org.jvnet.ws.message.DistributedPropertySet
public abstract class DistributedPropertySet
PropertySet that combines properties exposed from multiple
PropertySets into one.
This implementation allows one PropertySet to assemble
all properties exposed from other "satellite" PropertySets.
(A satellite may itself be a DistributedPropertySet, so
in general this can form a tree.)
This is useful for JAX-WS because the properties we expose to the application
are contributed by different pieces, and therefore we'd like each of them
to have a separate PropertySet implementation that backs up
the properties. For example, this allows FastInfoset to expose its
set of properties to RequestContext by using a strongly-typed fields.
This is also useful for a client-side transport to expose a bunch of properties
into ResponseContext. It simply needs to create a PropertySet
object with methods for each property it wants to expose, and then add that
PropertySet to Packet. This allows property values to be
lazily computed (when actually asked by users), thus improving the performance
of the typical case where property values are not asked.
A similar benefit applies on the server-side, for a transport to expose
a bunch of properties to WebServiceContext.
To achieve these benefits, access to DistributedPropertySet is slower
compared to PropertySet (such as get/set), while adding a satellite
object is relatively fast.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jvnet.ws.message.PropertySet |
|---|
PropertySet.Accessor, PropertySet.Property, PropertySet.PropertyMap |
| Constructor Summary | |
|---|---|
DistributedPropertySet()
|
|
| Method Summary | ||
|---|---|---|
void |
addSatellite(Class keyClass,
PropertySet satellite)
|
|
void |
addSatellite(PropertySet satellite)
|
|
void |
copySatelliteInto(DistributedPropertySet r)
|
|
void |
copySatelliteInto(MessageContext r)
|
|
Object |
get(Object key)
Gets the name of the property. |
|
|
getSatellite(Class<T> satelliteClass)
|
|
Object |
put(String key,
Object value)
Sets a property. |
|
Object |
remove(Object key)
|
|
void |
removeSatellite(PropertySet satellite)
|
|
boolean |
supports(Object key)
Checks if this PropertySet supports a property of the given name. |
|
| Methods inherited from class org.jvnet.ws.message.PropertySet |
|---|
containsKey, createMapView, getPropertyMap, parse |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DistributedPropertySet()
| Method Detail |
|---|
public void addSatellite(@NotNull
PropertySet satellite)
public void addSatellite(@NotNull
Class keyClass,
@NotNull
PropertySet satellite)
public void copySatelliteInto(@NotNull
DistributedPropertySet r)
@Nullable public <T extends PropertySet> T getSatellite(Class<T> satelliteClass)
public Object get(Object key)
PropertySet
get in class PropertySetkey - This field is typed as Object to follow the Map.get(Object)
convention, but if anything but String is passed, this method
just returns null.
public Object put(String key,
Object value)
PropertySet
put in class PropertySetPropertySet.Propertypublic boolean supports(Object key)
PropertySetPropertySet supports a property of the given name.
supports in class PropertySetpublic Object remove(Object key)
remove in class PropertySetpublic void removeSatellite(PropertySet satellite)
public void copySatelliteInto(MessageContext r)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||