1069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/*
2069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Copyright 2001-2004 The Apache Software Foundation.
3069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
4069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * you may not use this file except in compliance with the License.
6069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * You may obtain a copy of the License at
7069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
8069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
10069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * See the License for the specific language governing permissions and
14069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * limitations under the License.
15069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */
16069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
17069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpackage org.apache.commons.codec;
18069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
19069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/**
20069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <p>Provides the highest level of abstraction for Encoders.
21069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * This is the sister interface of {@link Decoder}.  Every implementation of
22069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Encoder provides this common generic interface whic allows a user to pass a
23069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * generic Object to any Encoder implementation in the codec package.</p>
24069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
25069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @author Apache Software Foundation
26069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @version $Id: Encoder.java,v 1.10 2004/02/29 04:08:31 tobrien Exp $
27d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath *
28d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath * @deprecated Please use {@link java.net.URL#openConnection} instead.
29d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath *     Please visit <a href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">this webpage</a>
30d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath *     for further details.
31069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */
32d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath@Deprecated
33069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpublic interface Encoder {
34069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
35069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
36069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Encodes an "Object" and returns the encoded content
37069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * as an Object.  The Objects here may just be <code>byte[]</code>
38069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * or <code>String</code>s depending on the implementation used.
39069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
40069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param pObject An object ot encode
41069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
42069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @return An "encoded" Object
43069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
44069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @throws EncoderException an encoder exception is
45069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *  thrown if the encoder experiences a failure
46069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *  condition during the encoding process.
47069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
48069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    Object encode(Object pObject) throws EncoderException;
49069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project}
50069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
51