
pl.bristleback.server.bristle.api.SerializationResolver Maven / Gradle / Ivy
/*
* Bristleback Websocket Framework - Copyright (c) 2010-2013 http://bristleback.pl
* ---------------------------------------------------------------------------
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
* This library is distributed in the hope that it will be useful,
* but without any warranty; without even the implied warranty of merchantability
* or fitness for a particular purpose.
* You should have received a copy of the GNU Lesser General Public License along
* with this program; if not, see .
* ---------------------------------------------------------------------------
*/
package pl.bristleback.server.bristle.api;
import pl.bristleback.server.bristle.serialization.SerializationBundle;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
/**
* Serialization information resolvers cooperate with {@link SerializationEngine} implementations
* by providing meta information about serialized/deserialized type for them.
* They also should be able to actualize serialization information object with information about child field.
* Type of serialization information object is determined by the serialization engine cooperating with this
* serialization resolver implementation.
* Serialization resolvers must provide functionality of processing
* {@link pl.bristleback.server.bristle.message.ConditionObjectSender} fields and initializing
* {@link SerializationBundle} object.
*
* Created on: 2012-01-08 14:07:10
*
* @author Wojciech Niemiec
*/
public interface SerializationResolver extends ConfigurationAware {
SerializationBundle initSerializationBundle(Field objectSenderField);
T resolveSerialization(Type objectType, Annotation... annotations);
void setSerializationForField(T parentSerialization, String fieldName, T fieldSerialization);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy