public interface ISerializerRegistrator
ITransportable
implementations to
manager their collaboration with the transport service. At the same time this
is the place for the transport service and the ITransportHandler
implementations to retrieve all the classes which need to be adressed when
importing or exporting an object
Copyright 2004 SAP AG
Modifier and Type | Interface and Description |
---|---|
static class |
ISerializerRegistrator.PropertyUsage |
Modifier and Type | Field and Description |
---|---|
static ISerializerRegistrator.PropertyUsage |
APPLICATION_PROPERTIES |
static ISerializerRegistrator.PropertyUsage |
RESOURCE_PROPERTIES |
Modifier and Type | Method and Description |
---|---|
void |
claim(IClaimStaker claimstaker)
iterates over all repositories available and calls the
claim(IClaimStaker, RID) for each of the repositories
prefixes. |
void |
claim(IClaimStaker claimstaker,
RID prefix)
adds the claims of the given claimstaker to the list of claimed properties.
|
void |
deregister(ISerializer serializer)
deregisters a serializer for all repositories it has been registered for.
|
boolean |
deregister(ISerializer transportable,
RID prefix) |
PropertiesClaim |
getClaim(RID rid,
ISerializerRegistrator.PropertyUsage usage) |
EntryList |
list(RID prefix) |
void |
register(ISerializer serializer,
boolean isCore) |
void |
register(ISerializer serializer,
IRepositoryManager manager,
boolean isCore)
the same method as
register(ISerializer, RID, boolean) , but
uses the IRepositoryManager.getPrefix() method to calculate
the RID |
void |
register(ISerializer transportable,
RID prefix,
boolean isCore)
if a transportable with the same ID is already registered here, the method
will raise a
TransportException , because the IDs registered
for a certain RID must be unique. |
void |
register(ISerializer transportable,
RID prefix,
boolean isCore,
int position)
if a transportable with the same ID is already registered here, the method
will raise a
TransportException , because the IDs registered
for a certain RID must be unique. |
RID[] |
registeredRIDs() |
static final ISerializerRegistrator.PropertyUsage RESOURCE_PROPERTIES
static final ISerializerRegistrator.PropertyUsage APPLICATION_PROPERTIES
void register(ISerializer transportable, RID prefix, boolean isCore) throws SerializationException
TransportException
, because the IDs registered
for a certain RID must be unique.transportable
- to register for the given prefix, must not be
null
prefix
- the RID to register the transportable for, must not be
null
isCore
- flag to tell if the whole serialization process has to be
cancelled, if this serializer fails. Use this flag with care. It
should be only used for services that are relevant for security or
the actual content of the resourceSerializationException
- SerializationExceptionvoid register(ISerializer transportable, RID prefix, boolean isCore, int position) throws SerializationException
TransportException
, because the IDs registered
for a certain RID must be unique.transportable
- to register for the given prefix, must not be
null
prefix
- the RID to register the transportable for, must not be
null
isCore
- flag to tell if the whole serialization process has to be
cancelled, if this serializer fails. Use this flag with care. It
should be only used for services that are relevant for security or
the actual content of the resourceposition
- an explicit position in the calling sequence for
serializers. Note that an implementation of this interface may not
use this inofrmation. Also, there is no guarantee that other
serializers will be active for the given RID.SerializationException
- SerializationExceptionvoid register(ISerializer serializer, IRepositoryManager manager, boolean isCore) throws SerializationException
register(ISerializer, RID, boolean)
, but
uses the IRepositoryManager.getPrefix()
method to calculate
the RID
serializer
- Serializermanager
- RepositoryManagerisCore
- isCoreSerializationException
- SerializationExceptionvoid register(ISerializer serializer, boolean isCore) throws SerializationException
serializer
- to register for all repositories available, must not be
null
isCore
- flag to tell if the whole serialization process has to be
cancelled, if this serializer fails. Use this flag with care. It
should be only used for services that are relevant for security or
the actual content of the resourceSerializationException
- SerializationExceptionboolean deregister(ISerializer transportable, RID prefix) throws SerializationException
transportable
- the transportable to deregister, must not be
null
prefix
- the prefix to deregister the transportable for, must not be
null
false
, it will return true
otherwiseSerializationException
- SerializationExceptionvoid deregister(ISerializer serializer) throws SerializationException
serializer
- the serializer to deregister, must not be
null
SerializationException
- SerializationExceptionEntryList list(RID prefix)
prefix
- the RID to retrieve all transportables for, must not be
null
null
. A modification of the
array by the calling class must not modify the registration of
transportables within this registratorRID[] registeredRIDs()
RID
s that ISerializer
instances
have been defined for. Might return an empty array, but never
null
.void claim(IClaimStaker claimstaker, RID prefix)
IPropertyName
instances by calling the
getClaims(RID rid)
method. Note possible race-conditions if
another class added claims in between the two method calls.claimstaker
- the class that wants to claim exclusive ownership of
certain IPropertyName
while serialization of a
resource. Must not be null
prefix
- the prefix of the repository to claim ownership of the
properties for.void claim(IClaimStaker claimstaker) throws ResourceException
claim(IClaimStaker, RID)
for each of the repositories
prefixes.claimstaker
- claimstakerResourceException
- if the ResourceFactory
cannot
retrieve the collection of IRepositoryManager
instances.PropertiesClaim getClaim(RID rid, ISerializerRegistrator.PropertyUsage usage)
rid
- RID of the resource to get the properties claim for. Must not be
null
usage
- usageAccess Rights |
---|
SC | DC | Public Part | ACH |
---|---|---|---|
[sap.com] KMC-CM
|
[sap.com] tc/km/frwk
|
api
|
EP-KM-CM
|
[sap.com] KMC-WPC
|
[sap.com] tc/kmc/wpc/wpcfacade
|
api
|
EP-PIN-WPC-WCM
|
Copyright 2018 SAP AG Complete Copyright Notice