com.novell.service.nds
Interface SchemaClass


public interface SchemaClass

Defines the object components for a single NDS Class.

Object components for a class define the types of objects that can exist in the Directory tree. An object class is defined by its features, which consist of the following kinds of information:

The Class Flags may have one or more of the following flags set:


Field Summary
static java.lang.String ATTR_ASN1NAME
          Represents the ASN1Name Attribute ID.
static java.lang.String ATTR_FLAGS
          Represents the flags attribute ID for class definitions.
static java.lang.String ATTR_OBJECT_CONTAINMENT_CLASSES
          Represents the Object Containment Classes Attribute ID.
static java.lang.String ATTR_OBJECT_MANDATORY_ATTRIBUTES
          Represents the Object Mandatory Attributes Attribute ID.
static java.lang.String ATTR_OBJECT_NAMING_ATTRIBUTES
          Represents the Object Naming Attributes Attribute ID.
static java.lang.String ATTR_OBJECT_OPTIONAL_ATTRIBUTES
          Represents the Object Optional Attributes Attribute ID.
static java.lang.String ATTR_OBJECT_SUPER_CLASSES
          Represents the Object Super Classes Attribute ID.
static int DS_AMBIGUOUS_CONTAINMENT
          Indicates whether the object class has clearly defined containment classes.
static int DS_AMBIGUOUS_NAMING
          Indicates whether the object class has clearly defined naming attributes.
static int DS_AUXILIARY_CLASS
          (DS_AUXILIARY_CLASS = NetJNI.DS_AUXILIARY_CLASS)
static int DS_CONTAINER_CLASS
          Indicates whether the object can contain other objects.
static int DS_EFFECTIVE_CLASS
          Indicates whether an object class is effective or noneffective.
static int DS_NONREMOVABLE_CLASS
          Indicates whether the object class can be removed from the schema.
static int DS_OPERATIONAL_CLASS
          (DS_OPERATIONAL_CLASS = NetJNI.DS_OPERATIONAL_CLASS)
 

Field Detail

ATTR_OBJECT_SUPER_CLASSES

public static final java.lang.String ATTR_OBJECT_SUPER_CLASSES
Represents the Object Super Classes Attribute ID.

Super Classes designate the structure of the schema itself, defining the association of class definitions in the class hierarchy.

(ATTR_OBJECT_SUPER_CLASSES = "Object Super Classes")


ATTR_OBJECT_CONTAINMENT_CLASSES

public static final java.lang.String ATTR_OBJECT_CONTAINMENT_CLASSES
Represents the Object Containment Classes Attribute ID.

The containment classes structure rule determines where in the NDS tree hierarchy the objects can be placed. Objects that can contain other objects are container objects or parent objects. Objects that cannot contain other objects are noncontainer or leaf objects.

(ATTR_OBJECT_CONTAINMENT_CLASSES = "Object Containment Classes")


ATTR_OBJECT_NAMING_ATTRIBUTES

public static final java.lang.String ATTR_OBJECT_NAMING_ATTRIBUTES
Represents the Object Naming Attributes Attribute ID.

The object naming attribute structure rule determines how objects of the class are named. Objects are identified by their own name and the name of their parent objects. The characteristics of naming attributes include: Naming attribute rules, multi-valued naming attributes, shareable naming attributes, and inheritance of naming attributes.

(ATTR_OBJECT_NAMING_ATTRIBUTES = "Object Naming Attributes")


ATTR_OBJECT_MANDATORY_ATTRIBUTES

public static final java.lang.String ATTR_OBJECT_MANDATORY_ATTRIBUTES
Represents the Object Mandatory Attributes Attribute ID.

If an attribute is mandatory, a value must be assigned to the attribute before an instance of the object can be created. Mandatory attributes are always inherited from Super classes, and mandatory definitions take precedence over optional attribute designations.

(ATTR_OBJECT_MANDATORY_ATTRIBUTES = "Object Mandatory Attributes")


ATTR_OBJECT_OPTIONAL_ATTRIBUTES

public static final java.lang.String ATTR_OBJECT_OPTIONAL_ATTRIBUTES
Represents the Object Optional Attributes Attribute ID.

If an attribute is optional, a value does not need to be assigned to create an instance of the object. The only exception is an optional naming attribute, but if the optional naming attribute is the only attribute used for naming the object, the optional attribute becomes a mandatory attribute. Optional attributes are always inherited from super classes.

(ATTR_OBJECT__OPTIONAL_ATTRIBUTES = "Object Optional Attributes")


ATTR_ASN1NAME

public static final java.lang.String ATTR_ASN1NAME
Represents the ASN1Name Attribute ID.

The ASN1Name is the unique identifier for the class definition based on the international standard for representing data types and structures. It provides a machine-independent syntax for specifying application layer protocols and information on open systems.

ATTR_ASN1NAME = "ASN1Name")


ATTR_FLAGS

public static final java.lang.String ATTR_FLAGS
Represents the flags attribute ID for class definitions.

The Flags Attribute constant contains a value that is a combination of the following flags that restrict the attribute value:

ATTR_FLAGS = "Flags")


DS_CONTAINER_CLASS

public static final int DS_CONTAINER_CLASS
Indicates whether the object can contain other objects.

This flag is set to ON for those object classes that are designated as container classes. The flag is set to OFF for all leaf object classes.

(DS_CONTAINER_CLASS = NetJNI.DS_CONTAINER_CLASS)


DS_EFFECTIVE_CLASS

public static final int DS_EFFECTIVE_CLASS
Indicates whether an object class is effective or noneffective.

The Effective flag is set to ON for those base schema object classes that can be used to provide definition and to create objects. The flag is set to OFF for those classes that provide definition but cannot be used to create objects.

(DS_EFFECTIVE_CLASS = NetJNI.DS_EFFECTIVE_CLASS)


DS_NONREMOVABLE_CLASS

public static final int DS_NONREMOVABLE_CLASS
Indicates whether the object class can be removed from the schema.

This flag is set to ON for those objects that cannot be removed. The flag is set to OFF for object classes that can be removed. All base schema object classes are flagged nonremovable.

(DS_NONREMOVABLE_CLASS = NetJNI.DS_NONREMOVABLE_CLASS)


DS_AMBIGUOUS_NAMING

public static final int DS_AMBIGUOUS_NAMING
Indicates whether the object class has clearly defined naming attributes.

As a general rule, noneffective classes can be created with ambiguous naming, but effective classes must have nonambiguous naming attributes. For most object classes in the base schema, the Ambiguous Naming flag is set to OFF. The only object classes where this flag is turned On are Top, Alias, Person and Partition.

(DS_AMBIGUOUS_NAMING = NetJNI.DS_AMBIGUOUS_NAMING)


DS_AMBIGUOUS_CONTAINMENT

public static final int DS_AMBIGUOUS_CONTAINMENT
Indicates whether the object class has clearly defined containment classes.

As a general rule, noneffective classes can be created with ambiguous containment, but effective classes must have nonambiguous containment. For most object classes in the base schema, the Ambiguous Containment flag is set to OFF. The only object classes where this flag is turned On are Top, Alias, Person and Partition.

(DS_AMBIGUOUS_CONTAINMENT = NetJNI.DS_AMBIGUOUS_CONTAINMENT)


DS_AUXILIARY_CLASS

public static final int DS_AUXILIARY_CLASS

(DS_AUXILIARY_CLASS = NetJNI.DS_AUXILIARY_CLASS)


DS_OPERATIONAL_CLASS

public static final int DS_OPERATIONAL_CLASS

(DS_OPERATIONAL_CLASS = NetJNI.DS_OPERATIONAL_CLASS)