轻型目录存取协议 LDAP目录中JAVATM对象的表征模式( 六 )


3.4javaSerializedData
该属性保存JAVA对象的序列化形态 。序列化形态在[Serial]中描述 。
该属性的语法为"OctetString" 。
(1.3.6.1.4.1.42.2.27.4.1.8
NAME"javaSerializedData
DESC"SerializedformofaJavaobject"
SYNTAX1.3.6.1.4.1.1466.115.121.1.40
SINGLE-VALUE
)
3.5javaFactory
该属性保存能被用来创建由javaClassName属性标识的对象实例的对象制造者(如,§
com.wiz.jndi.WizObjectFactory)的完整的类名 。
该属性的语法是"DirectoryString",并且大小写无关 。
(1.3.6.1.4.1.42.2.27.4.1.10
NAME"javaFactory"
DESC"FullyqualifiedJavaclassnameofaJNDIobjectfactory"
EQUALITYcaseExactMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE
)
3.6javaReferenceAddress
该属性表征JNDI参考的地址序列 。它的每个值表示一个地址,一个类型为
javax.naming.RefAddr的JAVA对象 。它的值是地址类型和地址内容的串联,并以一个
序号打头(JNDI参考中的地址顺序是很重要的) 。比如:
#0#TypeA#ValA
#1#TypeB#ValB
#2#TypeC##rO0ABXNyABpq...
具体地讲,这个值如下编码:
分隔符是值的第一个字符 。为了易读性,字符“#”在值中没被另外地使用时是推荐使
用,而且任何字符可以用来服从下面给出的限制 。
每一个分隔符跟着是序列号 。地址的序列号是它在JNDI参考中的位置,第一的位置编
号为0 。它用最简短的十进制形式表示 。
序列号接下来是一个分隔符,然后是地址类型,然后是另一个分隔符 。假如地址属于
JAVA类javax.naming.StringRefAddr,则其分隔符接着的是地址内容的值(字符) 。否则,
分隔符接着是另一个分隔符,然后接着是这整个地址的序列化形态的Base64编码 。
分隔符可以是任何未包含在地址类型中的数字或字符 。另外,若地址内容是个字符串,
分隔符不能为此字符串的首字符 。
该属性的语法为"DirectoryString",并且大小写无关 。它可以含有多个值 。
(1.3.6.1.4.1.42.2.27.4.1.11
NAME"javaReferenceAddress"
DESC"AddressesassociatedwithaJNDIReference"
EQUALITYcaseExactMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
)
3.7javaDoc
该属性保存指向类的JAVA文档的指针 。其值为URL 。比如,以下URL指向
java.lang.String类的说明:
http://java.sun.com/prodUCts/jdk/1.2/docs/api/java/lang/String.Html
该属性语法为"IA5String",并且大小写无关 。
(1.3.6.1.4.1.42.2.27.4.1.12
NAME"javaDoc"
DESC"TheJavadocumentationfortheclass"
EQUALITYcaseExactIA5Match
SYNTAX1.3.6.1.4.1.1466.115.121.1.26
)
4.对象类的定义
下面对象类在本文中定义:
javaContainer
javaObject
javaSerializedObject
javaMarshalledObject
javaNamingReference
4.1javaContainer
该结构上的对象类表示一个JAVA对象的容器 。
(1.3.6.1.4.1.42.2.27.4.2.1
NAME"javaContainer"
DESC"ContainerforaJavaobject"
SUPtop
STRUCTURAL
MUST(cn)
)
4.2javaObject
该抽象对象类表示一个JAVA对象 。javObject不能存在于目录中;只有其辅助的或结构
上的子类可以存在于目录中 。
(1.3.6.1.4.1.42.2.27.4.2.4
NAME"javaObject"
DESC"Javaobjectrepresentation"
SUPtop
ABSTRACT
MUST(javaClassName)
MAY(javaClassNames$
javaCodebase$
javaDoc$
description)
)
4.3javaSerializedObject
该辅助对象类表示一个序列化的JAVA对象 。必须与一个结构上的对象类混合在一起 。
(1.3.6.1.4.1.42.2.27.4.2.5
NAME"javaSerializedObject"
DESC"Javaserializedobject"

推荐阅读