org.opcfoundation.ua.encoding.utils
Class AbstractSerializer

java.lang.Object
  extended by org.opcfoundation.ua.encoding.utils.AbstractSerializer
All Implemented Interfaces:
IEncodeableSerializer

public abstract class AbstractSerializer
extends Object
implements IEncodeableSerializer

Simple serializer that can serialize only one type of class.

Author:
Toni Kalajainen (toni.kalajainen@vtt.fi)

Constructor Summary
AbstractSerializer(Class<? extends IEncodeable> clazz, ExpandedNodeId binaryId, ExpandedNodeId xmlId)
          Constructor for AbstractSerializer.
AbstractSerializer(Class<? extends IEncodeable> clazz, ExpandedNodeId binaryId, ExpandedNodeId xmlId, ExpandedNodeId nodeId)
          Constructor for AbstractSerializer.
 
Method Summary
 void calcEncodeable(Class<? extends IEncodeable> clazz, IEncodeable encodeable, IEncoder calculator)
          Calculate encodeable size in bytes.
abstract  void calcEncodeable(IEncodeable encodeable, IEncoder calculator)
          calcEncodeable.
 Class<? extends IEncodeable> getClass(ExpandedNodeId id)
          getClass.
 IEncodeable getEncodeable(Class<? extends IEncodeable> clazz, IDecoder decoder)
          Deserialize an object from a binary stream.
abstract  IEncodeable getEncodeable(IDecoder decoder)
          getEncodeable.
 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.
abstract  void putEncodeable(IEncodeable encodeable, IEncoder encoder)
          putEncodeable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractSerializer

public AbstractSerializer(Class<? extends IEncodeable> clazz,
                          ExpandedNodeId binaryId,
                          ExpandedNodeId xmlId)

Constructor for AbstractSerializer.

Parameters:
clazz - a Class object.
binaryId - a ExpandedNodeId object.
xmlId - a ExpandedNodeId object.

AbstractSerializer

public AbstractSerializer(Class<? extends IEncodeable> clazz,
                          ExpandedNodeId binaryId,
                          ExpandedNodeId xmlId,
                          ExpandedNodeId nodeId)

Constructor for AbstractSerializer.

Parameters:
clazz - a Class object.
binaryId - a ExpandedNodeId object.
xmlId - a ExpandedNodeId object.
nodeId - a ExpandedNodeId object.
Method Detail

calcEncodeable

public abstract void calcEncodeable(IEncodeable encodeable,
                                    IEncoder calculator)
                             throws EncodingException

calcEncodeable.

Parameters:
encodeable - a IEncodeable object.
calculator - a IEncoder object.
Throws:
EncodingException - if any.

putEncodeable

public abstract void putEncodeable(IEncodeable encodeable,
                                   IEncoder encoder)
                            throws EncodingException

putEncodeable.

Parameters:
encodeable - a IEncodeable object.
encoder - a IEncoder object.
Throws:
EncodingException - if any.

getEncodeable

public abstract IEncodeable getEncodeable(IDecoder decoder)
                                   throws DecodingException

getEncodeable.

Parameters:
decoder - a IDecoder object.
Returns:
a IEncodeable object.
Throws:
DecodingException - 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.

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.

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.

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.

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.