-- Attribute types --

( 1.3.6.1.4.1.42.2.27.4.1.6
  NAME 'javaClassName'
  DESC 'Fully qualified name of distinguished Java class or interface'
  EQUALITY caseExactMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
)

( 1.3.6.1.4.1.42.2.27.4.1.7
  NAME 'javaCodebase'
  DESC 'URL(s) specifying the location of class definition'
  EQUALITY caseExactIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
)

( 1.3.6.1.4.1.42.2.27.4.1.8
  NAME 'javaSerializedData'
  DESC 'Serialized form of a Java object'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
  SINGLE-VALUE
)

( 1.3.6.1.4.1.42.2.27.4.1.10
  NAME 'javaFactory'
  DESC 'Fully qualified Java class name of a JNDI object factory'
  EQUALITY caseExactMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
)

( 1.3.6.1.4.1.42.2.27.4.1.11
  NAME 'javaReferenceAddress'
  DESC 'Addresses associated with a JNDI Reference'
  EQUALITY caseExactMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
)

( 1.3.6.1.4.1.42.2.27.4.1.12
  NAME 'javaDoc'
  DESC 'The Java documentation for the class'
  EQUALITY caseExactIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
)

( 1.3.6.1.4.1.42.2.27.4.1.13
  NAME 'javaClassNames'
  DESC 'Fully qualified Java class or interface name'
  EQUALITY caseExactMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
)

-- from RFC-2256 --

( 2.5.4.13
  NAME 'description'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}
)

-- Object classes --

( 1.3.6.1.4.1.42.2.27.4.2.1
  NAME 'javaContainer' 
  DESC 'Container for a Java object'
  SUP top 
  STRUCTURAL 
  MUST ( cn )
)

( 1.3.6.1.4.1.42.2.27.4.2.4
  NAME 'javaObject' 
  DESC 'Java object representation'
  SUP top 
  ABSTRACT
  MUST ( javaClassName )
  MAY ( javaClassNames $ javaCodebase $ javaDoc $ description )
)

( 1.3.6.1.4.1.42.2.27.4.2.5
  NAME 'javaSerializedObject'
  DESC 'Java serialized object'
  SUP javaObject 
  AUXILIARY 
  MUST ( javaSerializedData )
)

( 1.3.6.1.4.1.42.2.27.4.2.7
  NAME 'javaNamingReference'
  DESC 'JNDI reference'
  SUP javaObject 
  AUXILIARY 
  MAY ( javaReferenceAddress $ javaFactory )
)

( 1.3.6.1.4.1.42.2.27.4.2.8
  NAME 'javaMarshalledObject'
  DESC 'Java marshalled object'
  SUP javaObject
  AUXILIARY 
  MUST ( javaSerializedData )
)

-- Matching rule from ISO X.520 --

( 2.5.13.5
  NAME 'caseExactMatch'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
)

