1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/*
2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  Licensed to the Apache Software Foundation (ASF) under one or more
3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  contributor license agreements.  See the NOTICE file distributed with
4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  this work for additional information regarding copyright ownership.
5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  The ASF licenses this file to You under the Apache License, Version 2.0
6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  (the "License"); you may not use this file except in compliance with
7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  the License.  You may obtain a copy of the License at
8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *
9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *     http://www.apache.org/licenses/LICENSE-2.0
10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *
11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  Unless required by applicable law or agreed to in writing, software
12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  distributed under the License is distributed on an "AS IS" BASIS,
13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  See the License for the specific language governing permissions and
15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  limitations under the License.
16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */
17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.apache.harmony.javax.security.auth.callback;
19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport java.io.Serializable;
21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class TextOutputCallback implements Callback, Serializable {
25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private static final long serialVersionUID = 1689502495511663102L;
27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public static final int INFORMATION = 0;
29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public static final int WARNING = 1;
31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public static final int ERROR = 2;
33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private String message;
35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private int messageType;
37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public TextOutputCallback(int messageType, String message) {
39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        if (messageType > ERROR || messageType < INFORMATION) {
40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen            throw new IllegalArgumentException("auth.16"); //$NON-NLS-1$
41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        }
42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        if (message == null || message.length() == 0) {
43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen            throw new IllegalArgumentException("auth.1F"); //$NON-NLS-1$
44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        }
45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        this.messageType = messageType;
46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        this.message = message;
47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public String getMessage() {
50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        return message;
51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public int getMessageType() {
54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        return messageType;
55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen}
57