Interface DistributedPropertySet
-
- All Superinterfaces:
PropertySet
- All Known Subinterfaces:
MessageContext
- All Known Implementing Classes:
BaseDistributedPropertySet
,DistributedPropertySet
,Packet
,RequestContext
,TCPClientTransport
,TCPServiceChannelWSAdapter.ServiceChannelWSSatellite
public interface DistributedPropertySet extends PropertySet
PropertySet
that combines properties exposed from multiplePropertySet
s into one.This implementation allows one
PropertySet
to assemble all properties exposed from other "satellite"PropertySet
s. (A satellite may itself be aDistributedPropertySet
, 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 toRequestContext
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 aPropertySet
object with methods for each property it wants to expose, and then add thatPropertySet
toPacket
. 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 toPropertySet
(such as get/set), while adding a satellite object is relatively fast.- Author:
- Kohsuke Kawaguchi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.oracle.webservices.api.message.PropertySet
PropertySet.Property
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addSatellite(PropertySet satellite)
void
addSatellite(Class<? extends PropertySet> keyClass, PropertySet satellite)
void
copySatelliteInto(MessageContext r)
<T extends PropertySet>
TgetSatellite(Class<T> satelliteClass)
Map<Class<? extends PropertySet>,PropertySet>
getSatellites()
void
removeSatellite(PropertySet satellite)
-
Methods inherited from interface com.oracle.webservices.api.message.PropertySet
asMap, containsKey, createMapView, get, put, remove, supports
-
-
-
-
Method Detail
-
getSatellite
@Nullable <T extends PropertySet> T getSatellite(Class<T> satelliteClass)
-
getSatellites
Map<Class<? extends PropertySet>,PropertySet> getSatellites()
-
addSatellite
void addSatellite(PropertySet satellite)
-
addSatellite
void addSatellite(Class<? extends PropertySet> keyClass, PropertySet satellite)
-
removeSatellite
void removeSatellite(PropertySet satellite)
-
copySatelliteInto
void copySatelliteInto(MessageContext r)
-
-