org.opcfoundation.ua.encoding.utils
Class SerializerComposition

java.lang.Object
  extended by org.opcfoundation.ua.encoding.utils.SerializerComposition
All Implemented Interfaces:
IEncodeableSerializer
Direct Known Subclasses:
EncodeableSerializer

public class SerializerComposition
extends Object
implements IEncodeableSerializer

A collection of serializers for Structure types. Used by the encoders and decoders.


Constructor Summary
SerializerComposition()
          Constructor for SerializerComposition.
 
Method Summary
 void addSerializer(IEncodeableSerializer serializer)
          addSerializer.
 void calcEncodeable(Class<? extends IEncodeable> clazz, IEncodeable encodeable, IEncoder calculator)
          Calculate encodeable size in bytes.
 Class<? extends IEncodeable> getClass(ExpandedNodeId id)
          getClass.
 IEncodeable getEncodeable(Class<? extends IEncodeable> clazz, IDecoder decoder)
          Deserialize an object from a binary stream.
 ExpandedNodeId getNodeId(Class<? extends IEncodeable> clazz, EncodeType type)
          getNodeId.
 void getSupportedClasses(Collection<Class<? extends IEncodeable>> result)
          Returns a set of classes this serializes knows how to encode
 void getSupportedNodeIds(Collection<ExpandedNodeId> result)
          Get the set of node ids this serializes knows how to decode.
 void putEncodeable(Class<? extends IEncodeable> clazz, IEncodeable encodeable, IEncoder encoder)
          Serialize object to encoder.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializerComposition

public SerializerComposition()

Constructor for SerializerComposition.

Method Detail

addSerializer

public void addSerializer(IEncodeableSerializer serializer)

addSerializer.

Parameters:
serializer - a IEncodeableSerializer object.

putEncodeable

public void putEncodeable(Class<? extends IEncodeable> clazz,
                          IEncodeable encodeable,
                          IEncoder encoder)
                   throws EncodingException
Serialize object to encoder. Serialization of NodeId is omited.

Specified by:
putEncodeable in interface IEncodeableSerializer
Parameters:
clazz - a Class object.
encodeable - a IEncodeable object.
encoder - a IEncoder object.
Throws:
EncodingException - if any.

calcEncodeable

public void calcEncodeable(Class<? extends IEncodeable> clazz,
                           IEncodeable encodeable,
                           IEncoder calculator)
                    throws EncodingException
Calculate encodeable size in bytes. Omit NodeId.

Specified by:
calcEncodeable in interface IEncodeableSerializer
Parameters:
clazz - a Class object.
encodeable - a IEncodeable object.
calculator - a IEncoder object.
Throws:
EncodingException - if any.

getEncodeable

public IEncodeable getEncodeable(Class<? extends IEncodeable> clazz,
                                 IDecoder decoder)
                          throws DecodingException
Deserialize an object from a binary stream. Reading NodeId must be omited.

Specified by:
getEncodeable in interface IEncodeableSerializer
Parameters:
clazz - a Class object.
decoder - a IDecoder object.
Returns:
deserialized object
Throws:
DecodingException - if any.

getClass

public Class<? extends IEncodeable> getClass(ExpandedNodeId id)

getClass.

Specified by:
getClass in interface IEncodeableSerializer
Parameters:
id - a ExpandedNodeId object.
Returns:
a Class object.

getNodeId

public ExpandedNodeId getNodeId(Class<? extends IEncodeable> clazz,
                                EncodeType type)

getNodeId.

Specified by:
getNodeId in interface IEncodeableSerializer
Parameters:
clazz - a Class object.
type - a EncodeType object.
Returns:
a ExpandedNodeId object.

getSupportedClasses

public void getSupportedClasses(Collection<Class<? extends IEncodeable>> result)
Returns a set of classes this serializes knows how to encode

Specified by:
getSupportedClasses in interface IEncodeableSerializer
Parameters:
result - a Collection object.

getSupportedNodeIds

public void getSupportedNodeIds(Collection<ExpandedNodeId> result)
Get the set of node ids this serializes knows how to decode.

Specified by:
getSupportedNodeIds in interface IEncodeableSerializer
Parameters:
result - a collection to be filled with node ids


Copyright © 2018. All rights reserved.