001/*
002 @license.text@
003  */
004package com.hammurapi.convert;
005
006import com.hammurapi.common.Context;
007
008/**
009 * Part of composite decorators.
010 * @author Pavel Vlasov
011 *
012 * @version $Revision: 1.1 $
013 */
014public interface AtomicDecorator<S> {
015        
016        /**
017         * @return Type which converter converts from.
018         */
019        Class<S> getSourceType();
020        
021        /**
022         * Creates decoration.
023         * @param source Source object.
024         * @param master Master decorator to delegate decoration 
025         * of object parts.
026         * @return Decoration or null.
027         */
028        Object decorate(S source, Context context, Decorator<?, ?> master);
029}