获取或显示在提供的 Callback 中请求的信息。

为了获取或显示请求的信息,handle 方法实现检查传入的 Callback 对象的实例.下面提供的例子是对 handle 方法实现的示范。此例子代码只用来作为指导。为了简单起见,省去了很多细节(包括适当的错误处理)。

public void handle(Callback[] callbacks)

throws IOException, UnsupportedCallbackException {

for (int i = 0; i < callbacks.length; i++) {

if (callbacks[i] instanceof TextOutputCallback) {

// display the message according to the specified type

TextOutputCallback toc = (TextOutputCallback)callbacks[i];

switch (toc.getMessageType()) {

case TextOutputCallback.INFORMATION:

System.out.println(toc.getMessage());

break;

case TextOutputCallback.ERROR:

System.out.println("ERROR: " + toc.getMessage());

break;

case TextOutputCallback.WARNING:

System.out.println("WARNING: " + toc.getMessage());

break;

default:

throw new IOException("Unsupported message type: " +

toc.getMessageType());

}

} else if (callbacks[i] instanceof NameCallback) {

// prompt the user for a username

NameCallback nc = (NameCallback)callbacks[i];

// ignore the provided defaultName

System.err.print(nc.getPrompt());

System.err.flush();

nc.setName((new BufferedReader

(new InputStreamReader(System.in))).readLine());

} else if (callbacks[i] instanceof PasswordCallback) {

// prompt the user for sensitive information

PasswordCallback pc = (PasswordCallback)callbacks[i];

System.err.print(pc.getPrompt());

System.err.flush();

pc.setPassword(readPassword(System.in));

} else {

throw new UnsupportedCallbackException

(callbacks[i], "Unrecognized Callback");

}

}

}

// Reads user password from given input stream.

private char[] readPassword(InputStream in) throws IOException {

// insert code to read a user password from the input stream

}

java的handleback类,CallbackHandler相关推荐

  1. java string改变的影响_为什么Java的string类要设成immutable(不可变的)

    最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类 ...

  2. java中properties作用,java中Properties类的使用

    java中Properties类的使用 在java.util 包下面有一个类 Properties,该类主要用于读取以项目的配置文件(以.properties结尾的文件和xml文件). Propert ...

  3. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  4. 【转】深入研究java.lang.Class类

    深入研究java.lang.Class类            Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类 ...

  5. java生成缩略图类源码

    把做工程过程比较好的一些内容备份一下,如下内容段是关于 java生成缩略图类的内容. package com.whatycms.common.util; import java.awt.image.B ...

  6. Java基础-Date类常用方法介绍

    Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...

  7. spark需要maven管理吗_Spark-Maven全新安装:如何同时编译Java和Scala类

    我有一个Spark项目,其中同时包含.scala和.java文件.我正在尝试通过Maven构建来编译这两种类型的类.但是,当我运行" mvn clean install"时,它只会 ...

  8. java内省操作类的属性

    java内省操作类的属性 1.取得指定类的属性的方法 2.操作指定类的属性的方法 3.得到指定类的属性数据类型的方法 package com.ma.introspector;import java.b ...

  9. java命令执行类,这里设置了classpath,系统变量里的classpath将失效

    java命令执行类(类调用了某些jar包) (2011-03-02 14:24:42) 转载▼ 标签: 杂谈 分类: java 目录结构: bin: 编译目标库 lib:使用的jar类目录 src:源 ...

最新文章

  1. lg-1 x 怎么算_阿迪达斯crazy byw x实战测评 crazy byw x脚感怎么样
  2. 平流式初沉池贮砂斗计算_水处理相关计算软件大全,提高工作效率必备
  3. Spring Cloud【Finchley】-15 查看Zuul的路由端点和过滤器
  4. 制作模块-制作模块压缩包
  5. win7系统稳定测试软件,win7系统电脑测试cpu性能的方法(图文)
  6. setyear java_如何在Java中创建不可变类
  7. 【汇编语言与计算机系统结构笔记17】MIPS 汇编初步
  8. 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染
  9. 2. crontab 的使用
  10. 深圳大学毕业答辩PPT模板
  11. 模拟电子电路技术基础 | 基本放大电路
  12. 蓝桥杯——第九届C语言B组第五题:x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机;
  13. iOS开发:对于Xcode的Open Developer Tool中常用功能使用的总结
  14. 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库
  15. 十九 Redis AOF持久化
  16. 中国移动一级业务支撑系统多Kubernetes集群PaaS平台实践经验分享
  17. 一个屌丝程序猿的人生(四十五)
  18. 2022计算机考研统考的院校有哪些,2022考研初试科目都有哪些?
  19. 爱迪尔门锁系统怎么连接服务器,爱迪尔门锁设置方法是什么?
  20. 面试官说公司不是培训机构,我需要有经验的员工,应届生如何答?

热门文章

  1. access中dbs和dbms_DB、DBS、DBMS之间有什么关系?
  2. springboot banner在线生成_用了自定义Banner后,SpringBoot瞬间变的高大上了...
  3. 语言防止鼠标连点_全球化设计系列 | 多语言设计的“小锦囊”
  4. Java-Concurrent 线程池ThreadPoolExecutor使用
  5. 简单封装POI导出excel
  6. Unity2018新功能抢鲜 | ShaderGraph实战之全息效果
  7. android 串口通信丢包,新手求教为什么串口接收数据总丢包
  8. OpenShift 4 Tekton (2) - OpenShift Pipeline入门-用Pipeline部署应用
  9. js 格式化 java时间格式化_用JavaScript(js)对时间格式化
  10. python导入模块有几种_Python中几种导入模块的方式总结