Class SchemaBuilder
java.lang.Object
org.identityconnectors.framework.common.objects.SchemaBuilder
Simple builder class to help facilitate creating a
Schema object.- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescriptionSchemaBuilder(Class<? extends Connector> connectorClass) Creates a SchemaBuilder for the given connector class -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSupportedObjectClass(Class<? extends SPIOperation> op, ObjectClassInfo def) Adds the given ObjectClassInfo as a supported ObjectClass for the given operation.voidaddSupportedOperationOption(Class<? extends SPIOperation> op, OperationOptionInfo def) Adds the given OperationOptionInfo as a supported option for the given operation.build()Builds theSchemaobject based on theObjectClassInfos added so far.voidClears the operation-specific supported classes.voidClears the operation-specific supported options.voiddefineObjectClass(String type, Set<AttributeInfo> attrInfo) Adds another ObjectClassInfo to the schema.voidAdds another ObjectClassInfo to the schema.final voiddefineObjectClass(ObjectClassInfo objectClassInfo, Class<? extends SPIOperation>... operations) Adds another ObjectClassInfo to the schema.voiddefineOperationOption(String optionName, Class<?> type) Adds another OperationOptionInfo to the schema.voidAdds another OperationOptionInfo to the schema.final voiddefineOperationOption(OperationOptionInfo operationOptionInfo, Class<? extends SPIOperation>... operations) Adds another OperationOptionInfo to the schema.voidremoveSupportedObjectClass(Class<? extends SPIOperation> op, ObjectClassInfo def) Removes the given ObjectClassInfo as a supported ObjectClass for the given operation.voidremoveSupportedOperationOption(Class<? extends SPIOperation> op, OperationOptionInfo def) Removes the given OperationOptionInfo as a supported option for the given operation.
-
Constructor Details
-
SchemaBuilder
Creates a SchemaBuilder for the given connector class- Parameters:
connectorClass- The connector for which we are building the schema.
-
-
Method Details
-
defineObjectClass
Adds another ObjectClassInfo to the schema. Also, adds this to the set of supported classes for every operation defined by the Connector.- Parameters:
info- The object class info- Throws:
IllegalStateException- If already defined
-
defineObjectClass
@SafeVarargs public final void defineObjectClass(ObjectClassInfo objectClassInfo, Class<? extends SPIOperation>... operations) Adds another ObjectClassInfo to the schema. Also, adds this to the set of supported classes for every operation defined by the Connector.- Parameters:
objectClassInfo- the object class infooperations- The SPI operation which use supports thisobjectClassInfo- Throws:
IllegalStateException- If already defined
-
defineOperationOption
Adds another OperationOptionInfo to the schema. Also, adds this to the set of supported options for every operation defined by the Connector. -
defineOperationOption
@SafeVarargs public final void defineOperationOption(OperationOptionInfo operationOptionInfo, Class<? extends SPIOperation>... operations) Adds another OperationOptionInfo to the schema. Also, adds this to the set of supported options for operation defined.- Parameters:
operationOptionInfo- the operation options infooperations- a list of operations- Throws:
IllegalStateException- If already defined
-
defineObjectClass
Adds another ObjectClassInfo to the schema. Also, adds this to the set of supported classes for every operation defined by the Connector.- Throws:
IllegalStateException- If already defined
-
defineOperationOption
Adds another OperationOptionInfo to the schema. Also, adds this to the set of supported options for every operation defined by the Connector.- Throws:
IllegalStateException- If already defined
-
addSupportedObjectClass
Adds the given ObjectClassInfo as a supported ObjectClass for the given operation.- Parameters:
op- The SPI operationdef- The ObjectClassInfo- Throws:
IllegalArgumentException- If the given ObjectClassInfo was not already defined usingdefineObjectClass(ObjectClassInfo).
-
removeSupportedObjectClass
Removes the given ObjectClassInfo as a supported ObjectClass for the given operation.- Parameters:
op- The SPI operationdef- The ObjectClassInfo- Throws:
IllegalArgumentException- If the given ObjectClassInfo was not already defined usingdefineObjectClass(ObjectClassInfo).
-
addSupportedOperationOption
Adds the given OperationOptionInfo as a supported option for the given operation.- Parameters:
op- The SPI operationdef- The OperationOptionInfo- Throws:
IllegalArgumentException- If the given OperationOptionInfo was not already defined usingdefineOperationOption(OperationOptionInfo).
-
removeSupportedOperationOption
public void removeSupportedOperationOption(Class<? extends SPIOperation> op, OperationOptionInfo def) Removes the given OperationOptionInfo as a supported option for the given operation.- Parameters:
op- The SPI operationdef- The OperationOptionInfo- Throws:
IllegalArgumentException- If the given OperationOptionInfo was not already defined usingdefineOperationOption(OperationOptionInfo).
-
clearSupportedObjectClassesByOperation
public void clearSupportedObjectClassesByOperation()Clears the operation-specific supported classes. Normally, when you add an ObjectClass, usingdefineObjectClass(ObjectClassInfo), it is added to all operations. You may then remove those that you need usingremoveSupportedObjectClass(Class, ObjectClassInfo). You may wish, as an alternative to clear everything out and instead add usingaddSupportedObjectClass(Class, ObjectClassInfo). -
clearSupportedOptionsByOperation
public void clearSupportedOptionsByOperation()Clears the operation-specific supported options. Normally, when you add an OperationOptionInfo usingdefineOperationOption(OperationOptionInfo), this adds the option to all operations. You may then remove the option from any operation that does not support the option usingremoveSupportedOperationOption(Class, OperationOptionInfo). An alternative approach is to clear everything out (using this method) and then add each option to every operation that supports the option usingaddSupportedOperationOption(Class, OperationOptionInfo). -
build
Builds theSchemaobject based on theObjectClassInfos added so far.- Returns:
- new Schema object based on the info provided.
-