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
PropertySetthat combines properties exposed from multiplePropertySets into one.This implementation allows one
PropertySetto assemble all properties exposed from other "satellite"PropertySets. (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
PropertySetimplementation that backs up the properties. For example, this allows FastInfoset to expose its set of properties toRequestContextby 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 aPropertySetobject with methods for each property it wants to expose, and then add thatPropertySettoPacket. 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
DistributedPropertySetis 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 voidaddSatellite(PropertySet satellite)voidaddSatellite(Class<? extends PropertySet> keyClass, PropertySet satellite)voidcopySatelliteInto(MessageContext r)<T extends PropertySet>
TgetSatellite(Class<T> satelliteClass)Map<Class<? extends PropertySet>,PropertySet>getSatellites()voidremoveSatellite(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)
-
-