01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: /**
18: * @author Pavel Dolgov
19: * @version $Revision$
20: */package org.apache.harmony.awt.datatransfer;
21:
22: import java.awt.datatransfer.DataFlavor;
23: import java.awt.datatransfer.SystemFlavorMap;
24: import java.io.InputStream;
25: import java.io.Reader;
26: import java.nio.ByteBuffer;
27: import java.nio.CharBuffer;
28:
29: /**
30: * TextFlavor
31: */
32: public class TextFlavor {
33:
34: public static final Class[] unicodeTextClasses = { String.class,
35: Reader.class, CharBuffer.class, char[].class };
36:
37: public static final Class[] charsetTextClasses = {
38: InputStream.class, ByteBuffer.class, byte[].class };
39:
40: public static void addUnicodeClasses(SystemFlavorMap fm,
41: String nat, String subType) {
42: for (int i = 0; i < unicodeTextClasses.length; i++) {
43: String type = "text/" + subType; //$NON-NLS-1$
44: String params = ";class=\"" + //$NON-NLS-1$
45: unicodeTextClasses[i].getName() + "\""; //$NON-NLS-1$
46: DataFlavor f = new DataFlavor(type + params, type);
47: fm.addFlavorForUnencodedNative(nat, f);
48: fm.addUnencodedNativeForFlavor(f, nat);
49: }
50: }
51:
52: public static void addCharsetClasses(SystemFlavorMap fm,
53: String nat, String subType, String charset) {
54: for (int i = 0; i < charsetTextClasses.length; i++) {
55: String type = "text/" + subType; //$NON-NLS-1$
56: String params = ";class=\"" + //$NON-NLS-1$
57: charsetTextClasses[i].getName() + "\"" + //$NON-NLS-1$
58: ";charset=\"" + charset + "\""; //$NON-NLS-1$ //$NON-NLS-2$
59: DataFlavor f = new DataFlavor(type + params, type);
60: fm.addFlavorForUnencodedNative(nat, f);
61: fm.addUnencodedNativeForFlavor(f, nat);
62: }
63: }
64: }
|