1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements.  See the NOTICE file distributed with
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership.
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License.  You may obtain a copy of the License at
7f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage java.util;
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
207365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport java.io.IOException;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.NotSerializableException;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ObjectInputStream;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ObjectOutputStream;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * An {@code InvalidPropertiesFormatException} is thrown if loading the XML
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * document defining the properties does not follow the {@code Properties}
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specification.
29f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Even though this Exception inherits the {@code Serializable} interface, it is not
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * serializable. The methods used for serialization throw
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code NotSerializableException}s.
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class InvalidPropertiesFormatException extends IOException {
35f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private static final long serialVersionUID = 7763056076009360219L;
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Constructs a new {@code InvalidPropertiesFormatException} with the
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * current stack trace and message filled in.
41f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param m
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *           the detail message for the exception.
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public InvalidPropertiesFormatException(String m) {
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super(m);
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Constructs a new {@code InvalidPropertiesFormatException} with the cause
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * for the Exception.
52f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param c
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *           the cause for the Exception.
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public InvalidPropertiesFormatException(Throwable c) {
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        initCause(c);
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
59f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
60f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes    private void writeObject(ObjectOutputStream out)
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            throws NotSerializableException{
62f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        throw new NotSerializableException();
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
64f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
65f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes    private void readObject(ObjectInputStream in)
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            throws NotSerializableException{
67f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        throw new NotSerializableException();
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
70