Class Schema


  • public final class Schema
    extends java.lang.Object
    Determines the objects supported by a Connector. The Schema object is used to represent the basic objects that a connector supports. This does not prevent a connector from supporting more. Rather, this is informational for the caller of the connector to understand a minimum support level. The schema defines 4 primary data structures
    1. Declared ObjectClasses (getObjectClassInfo()).
    2. Declared OperationOptionInfo (getOperationOptionInfo()).
    3. Supported ObjectClasses by operation (getSupportedObjectClassesByOperation()).
    4. Supported OperationOptionInfo by operation(getSupportedOptionsByOperation()).
    TODO: add more to describe and what is expected from this call and how it is used.. based on OperationalAttribute etc..
    • Constructor Detail

      • Schema

        public Schema​(java.util.Set<ObjectClassInfo> info,
                      java.util.Set<OperationOptionInfo> options,
                      java.util.Map<java.lang.Class<? extends APIOperation>,​java.util.Set<ObjectClassInfo>> supportedObjectClassesByOperation,
                      java.util.Map<java.lang.Class<? extends APIOperation>,​java.util.Set<OperationOptionInfo>> supportedOptionsByOperation)
        Public only for serialization; please use SchemaBuilder instead.
        Parameters:
        info - the object class info
        supportedObjectClassesByOperation - the supported object class by operation
    • Method Detail

      • getObjectClassInfo

        public java.util.Set<ObjectClassInfo> getObjectClassInfo()
        Returns the set of object classes that are defined in the schema, regardless of which operations support them.
      • findObjectClassInfo

        public ObjectClassInfo findObjectClassInfo​(java.lang.String type)
        Returns the ObjectClassInfo for the given type.
        Parameters:
        type - The type to find.
        Returns:
        the ObjectClassInfo for the given type or null if not found.
      • getOperationOptionInfo

        public java.util.Set<OperationOptionInfo> getOperationOptionInfo()
        Returns the set of operation options that are defined in the schema, regardless of which operations support them.
        Returns:
        The options defined in this schema.
      • findOperationOptionInfo

        public OperationOptionInfo findOperationOptionInfo​(java.lang.String name)
        Returns the OperationOptionInfo for the given name.
        Parameters:
        name - The name to find.
        Returns:
        the OperationOptionInfo for the given name or null if not found.
      • getSupportedObjectClassesByOperation

        public java.util.Set<ObjectClassInfo> getSupportedObjectClassesByOperation​(java.lang.Class<? extends APIOperation> apiop)
        Returns the supported object classes for the given operation.
        Parameters:
        apiop - The operation.
        Returns:
        the supported object classes for the given operation.
      • getSupportedOptionsByOperation

        public java.util.Set<OperationOptionInfo> getSupportedOptionsByOperation​(java.lang.Class<? extends APIOperation> apiop)
        Returns the supported options for the given operation.
        Parameters:
        apiop - The operation.
        Returns:
        the supported options for the given operation.
      • getSupportedObjectClassesByOperation

        public java.util.Map<java.lang.Class<? extends APIOperation>,​java.util.Set<ObjectClassInfo>> getSupportedObjectClassesByOperation()
        Returns the set of object classes that apply to a particular operation.
        Returns:
        the set of object classes that apply to a particular operation.
      • getSupportedOptionsByOperation

        public java.util.Map<java.lang.Class<? extends APIOperation>,​java.util.Set<OperationOptionInfo>> getSupportedOptionsByOperation()
        Returns the set of operation options that apply to a particular operation.
        Returns:
        the set of operation options that apply to a particular operation.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Create a hash code from all the object info objects.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()