01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.undation, Inc., 59 Temple Place - Suite 330, Boston, MA
18: // 02111-1307, USA.
19: package org.columba.core.charset;
20:
21: import java.nio.charset.Charset;
22:
23: /**
24: * Should be implemented by objects encapsulating a charset. Enables
25: * interested objects to register listeners.
26: */
27: public interface CharsetOwnerInterface {
28: /**
29: * Returns the currently chosen charset. This method may return null
30: * if Columba should try to autodetect the charset.
31: */
32: public abstract Charset getCharset();
33:
34: /**
35: * Sets the currently active charset. This method must notify all
36: * registered CharacterListener instances. If null is passed, the
37: * charset will be determined automatically.
38: */
39: public abstract void setCharset(Charset charset);
40:
41: /**
42: * Registers a listener to get notified whenever the charset changes.
43: */
44: public abstract void addCharsetListener(CharsetListener l);
45:
46: /**
47: * Unregisters a previously registered CharacterListener instance.
48: */
49: public abstract void removeCharsetListener(CharsetListener l);
50: }
|