# java.schema -- Java Object Schema
# $OpenLDAP: pkg/ldap/servers/slapd/schema/java.schema,v 1.5.2.3 2007/01/02 21:44:09 kurt Exp $
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2007 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.
#
# Java Object Schema (defined in RFC 2713)
#	depends upon core.schema
#

# The version of this file as distributed by the OpenLDAP Foundation
# contains text from an IETF RFC explaining the schema.  Unfortunately,
# that text is covered by a license that doesn't meet Debian's Free
# Software Guidelines.  This is a stripped version of the schema that
# contains only the functional schema definition, not the text of the
# RFC.
#
# For an explanation of this schema, see RFC 2713, at (among other
# places):  http://www.ietf.org/rfc/rfc2713.txt

attributetype ( 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 )
 
attributetype ( 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 )

attributetype ( 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 )
 
attributetype ( 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 )

attributetype ( 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 )

attributetype ( 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 )

attributetype ( 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 )

objectclass ( 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 )

objectclass ( 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 ) )

objectclass ( 1.3.6.1.4.1.42.2.27.4.2.5
	NAME 'javaSerializedObject'
	DESC 'Java serialized object'
	SUP javaObject
	AUXILIARY
	MUST javaSerializedData )
 
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.8
	NAME 'javaMarshalledObject'
	DESC 'Java marshalled object'
	SUP javaObject
	AUXILIARY
	MUST javaSerializedData )

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