|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.oracle.webservices.api.message.BasePropertySet
com.oracle.webservices.api.message.BaseDistributedPropertySet
public abstract class BaseDistributedPropertySet
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 com.oracle.webservices.api.message.BasePropertySet |
|---|
BasePropertySet.Accessor, BasePropertySet.PropertyMap, BasePropertySet.PropertyMapEntry |
| Nested classes/interfaces inherited from interface com.oracle.webservices.api.message.PropertySet |
|---|
PropertySet.Property |
| Constructor Summary | |
|---|---|
BaseDistributedPropertySet()
|
|
| Method Summary | ||
|---|---|---|
void |
addSatellite(Class<? extends PropertySet> keyClass,
PropertySet satellite)
|
|
void |
addSatellite(PropertySet satellite)
|
|
protected Map<String,Object> |
asMapLocal()
|
|
boolean |
containsKey(Object key)
|
|
void |
copySatelliteInto(DistributedPropertySet r)
|
|
void |
copySatelliteInto(MessageContext r)
|
|
protected void |
createEntrySet(Set<Map.Entry<String,Object>> core)
|
|
protected Map<String,Object> |
createView()
|
|
Object |
get(Object key)
Gets the name of the property. |
|
|
getSatellite(Class<T> satelliteClass)
|
|
Map<Class<? extends PropertySet>,PropertySet> |
getSatellites()
|
|
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. |
|
protected boolean |
supportsLocal(Object key)
|
|
| Methods inherited from class com.oracle.webservices.api.message.BasePropertySet |
|---|
asMap, createMapView, getPropertyMap, mapAllowsAdditionalProperties, parse |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.oracle.webservices.api.message.PropertySet |
|---|
asMap, createMapView |
| Constructor Detail |
|---|
public BaseDistributedPropertySet()
| Method Detail |
|---|
public void addSatellite(@NotNull
PropertySet satellite)
addSatellite in interface DistributedPropertySet
public void addSatellite(@NotNull
Class<? extends PropertySet> keyClass,
@NotNull
PropertySet satellite)
addSatellite in interface DistributedPropertySetpublic void removeSatellite(PropertySet satellite)
removeSatellite in interface DistributedPropertySet
public void copySatelliteInto(@NotNull
DistributedPropertySet r)
public void copySatelliteInto(MessageContext r)
copySatelliteInto in interface DistributedPropertySet@Nullable public <T extends PropertySet> T getSatellite(Class<T> satelliteClass)
getSatellite in interface DistributedPropertySetpublic Map<Class<? extends PropertySet>,PropertySet> getSatellites()
getSatellites in interface DistributedPropertySetpublic Object get(Object key)
BasePropertySet
get in interface PropertySetget in class BasePropertySetkey - This field is typed as Object to follow the HashMap.get(Object)
convention, but if anything but String is passed, this method
just returns null.
public Object put(String key,
Object value)
BasePropertySet
put in interface PropertySetput in class BasePropertySetPropertypublic boolean containsKey(Object key)
containsKey in interface PropertySetcontainsKey in class BasePropertySetpublic boolean supports(Object key)
BasePropertySetPropertySet supports a property of the given name.
supports in interface PropertySetsupports in class BasePropertySetpublic Object remove(Object key)
remove in interface PropertySetremove in class BasePropertySetprotected void createEntrySet(Set<Map.Entry<String,Object>> core)
createEntrySet in class BasePropertySetprotected Map<String,Object> asMapLocal()
protected boolean supportsLocal(Object key)
protected Map<String,Object> createView()
createView in class BasePropertySet
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||