12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others.
22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License
37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/*
47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ********************************************************************************
57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 2009-2010, Google, International Business Machines Corporation *
67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * and others. All Rights Reserved.                                             *
77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ********************************************************************************
87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.text;
107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/**
127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Provide an interface for Transforms that focuses just on the transformation of the text.
137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * APIs that take Transliterator or StringTransform, but only depend on the transformation should use this interface in the API instead.
147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert *
157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author markdavis
167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.4
177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic interface Transform<S,D> {
217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    /**
227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert     * Transform the input in some way, to be determined by the subclass.
237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert     * @param source to be transformed (eg lowercased)
247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert     * @return result
257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert     * @stable ICU 4.4
267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert     */
277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public D transform(S source);
287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert}
29