Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
064f64a0
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
064f64a0
编写于
1月 10, 2011
作者:
L
lancea
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6544224: Remove the need of sun.reflect.misc
Reviewed-by: alanb
上级
6c51f9a0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
28 deletion
+9
-28
src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
...are/classes/javax/sql/rowset/serial/SerialJavaObject.java
+9
-28
未找到文件。
src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
浏览文件 @
064f64a0
/*
* Copyright (c) 2003, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,9 +25,7 @@
package
javax.sql.rowset.serial
;
import
java.sql.*
;
import
java.io.*
;
import
java.util.Map
;
import
java.lang.reflect.*
;
import
javax.sql.rowset.RowSetWarning
;
...
...
@@ -51,7 +49,7 @@ public class SerialJavaObject implements Serializable, Cloneable {
/**
* Placeholder for object to be serialized.
*/
private
Object
obj
;
private
final
Object
obj
;
/**
...
...
@@ -64,8 +62,7 @@ public class SerialJavaObject implements Serializable, Cloneable {
* <p>
*
* @param obj the Java <code>Object</code> to be serialized
* @throws SerialException if the object is found
* to be unserializable
* @throws SerialException if the object is found not to be serializable
*/
public
SerialJavaObject
(
Object
obj
)
throws
SerialException
{
...
...
@@ -74,16 +71,11 @@ public class SerialJavaObject implements Serializable, Cloneable {
// get Class. Object instance should always be available
Class
c
=
obj
.
getClass
();
Class
<?>
c
=
obj
.
getClass
();
// determine if object implements Serializable i/f
boolean
serializableImpl
=
false
;
Class
[]
theIf
=
c
.
getInterfaces
();
for
(
int
i
=
0
;
i
<
theIf
.
length
;
i
++)
{
String
ifName
=
theIf
[
i
].
getName
();
if
(
ifName
==
"java.io.Serializable"
)
{
serializableImpl
=
true
;
}
if
(!(
obj
instanceof
java
.
io
.
Serializable
))
{
setWarning
(
new
RowSetWarning
(
"Warning, the object passed to the constructor does not implement Serializable"
));
}
// can only determine public fields (obviously). If
...
...
@@ -93,22 +85,14 @@ public class SerialJavaObject implements Serializable, Cloneable {
boolean
anyStaticFields
=
false
;
fields
=
c
.
getFields
();
//fields = new Object[field.length];
for
(
int
i
=
0
;
i
<
fields
.
length
;
i
++
)
{
if
(
fields
[
i
].
getModifiers
()
==
Modifier
.
STATIC
)
{
anyStaticFields
=
true
;
}
//fields[i] = field[i].get(obj);
}
try
{
if
(!(
serializableImpl
))
{
throw
new
RowSetWarning
(
"Test"
);
}
}
catch
(
RowSetWarning
w
)
{
setWarning
(
w
);
}
if
(
anyStaticFields
)
{
throw
new
SerialException
(
"Located static fields in "
+
"object instance. Cannot serialize"
);
...
...
@@ -139,11 +123,8 @@ public class SerialJavaObject implements Serializable, Cloneable {
*/
public
Field
[]
getFields
()
throws
SerialException
{
if
(
fields
!=
null
)
{
Class
c
=
this
.
obj
.
getClass
();
//the following has to be commented before mustang integration
//return c.getFields();
//the following has to be uncommented before mustang integration
return
sun
.
reflect
.
misc
.
FieldUtil
.
getFields
(
c
);
Class
<?>
c
=
this
.
obj
.
getClass
();
return
c
.
getFields
();
}
else
{
throw
new
SerialException
(
"SerialJavaObject does not contain"
+
" a serialized object instance"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录