public static SchemaCatalog makeComponentSchemaCatalog()
  {
    return SchemaCatalog(
            Sbol2Terms.sbol2.namespacedUri("/schemaexample/component"),
            ImportedSchemas(
                    Sbol2Terms.sbol2.namespacedUri("/schema/core"),
                    Sbol2Terms.sbol2.namespacedUri("/schema/instantiation")
            ),
            DocumentSchemas(
                    DocumentSchema(
                            Sbol2Terms.sbol2.namespacedUri("/schema/sequence"),
                            Extends(),
                            IdentifierSchemas(),
                            TypeSchemas(
                                    TypeSchema(Sbol2Terms.component.sequence)
                            ),
                            PropertySchemas(
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.elements)
                                            ),
                                            cardinality.required,
                                            PropertyValueSchemas(propertyType.string)
                                    )
                            )
                    ),
                    DocumentSchema(
                            Sbol2Terms.sbol2.namespacedUri("/schema/sequence_component"),
                            Extends(Sbol2Terms.sbol2.namespacedUri("/schema/documented")),
                            IdentifierSchemas(),
                            TypeSchemas(
                                    TypeSchema(Sbol2Terms.component.sequenceComponent)
                            ),
                            PropertySchemas(
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.hasSequence)
                                            ),
                                            cardinality.optional,
                                            PropertyValueSchemas(ReferenceValue(Sbol2Terms.sbol2.namespacedUri("/schema/sequence")))
                                    ),
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.annotation)
                                            ),
                                            cardinality.many,
                                            PropertyValueSchemas(
                                                    DocumentValue(
                                                            DocumentSchema(
                                                                    Sbol2Terms.sbol2.namespacedUri("/schema/sequence_annotation"),
                                                                    Extends(Sbol2Terms.sbol2.namespacedUri("/schema/documented")),
                                                                    IdentifierSchemas(),
                                                                    TypeSchemas(
                                                                            TypeSchema(Sbol2Terms.component.sequenceComponent)
                                                                    ),
                                                                    PropertySchemas(
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.instantiation.subComponentInstantiation)
                                                                                    ),
                                                                                    cardinality.required,
                                                                                    PropertyValueSchemas(ReferenceValue(Sbol2Terms.sbol2.namespacedUri("/schema/component_instantiation")))
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.orientation)
                                                                                    ),
                                                                                    cardinality.required,
                                                                                    PropertyValueSchemas(propertyType.oneOf("inline","reverse_compliment"))
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.start)
                                                                                    ),
                                                                                    cardinality.optional,
                                                                                    PropertyValueSchemas(propertyType.integer)
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.end)
                                                                                    ),
                                                                                    cardinality.optional,
                                                                                    PropertyValueSchemas(propertyType.integer)
                                                                            )
                                                                    )
                                                            )
                                                    )
                                            )
                                    )


                            )

                    )
            )
    );
  }
public static SchemaCatalog makeComponentSchemaCatalog()
  {
    return SchemaCatalog(
            Sbol2Terms.sbol2.namespacedUri("/schemaexample/component"),
            ImportedSchemas(
                    Sbol2Terms.sbol2.namespacedUri("/schema/core"),
                    Sbol2Terms.sbol2.namespacedUri("/schema/instantiation")
            ),
            DocumentSchemas(
                    DocumentSchema(
                            Sbol2Terms.sbol2.namespacedUri("/schema/sequence"),
                            Extends(),
                            IdentifierSchemas(),
                            TypeSchemas(
                                    TypeSchema(Sbol2Terms.component.sequence)
                            ),
                            PropertySchemas(
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.elements)
                                            ),
                                            cardinality.required,
                                            PropertyValueSchemas(propertyType.string)
                                    )
                            )
                    ),
                    DocumentSchema(
                            Sbol2Terms.sbol2.namespacedUri("/schema/sequence_component"),
                            Extends(Sbol2Terms.sbol2.namespacedUri("/schema/documented")),
                            IdentifierSchemas(),
                            TypeSchemas(
                                    TypeSchema(Sbol2Terms.component.sequenceComponent)
                            ),
                            PropertySchemas(
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.hasSequence)
                                            ),
                                            cardinality.optional,
                                            PropertyValueSchemas(ReferenceValue(Sbol2Terms.sbol2.namespacedUri("/schema/sequence")))
                                    ),
                                    PropertySchema(
                                            TypeSchemas(
                                                    TypeSchema(Sbol2Terms.component.annotation)
                                            ),
                                            cardinality.many,
                                            PropertyValueSchemas(
                                                    DocumentValue(
                                                            DocumentSchema(
                                                                    Sbol2Terms.sbol2.namespacedUri("/schema/sequence_annotation"),
                                                                    Extends(Sbol2Terms.sbol2.namespacedUri("/schema/documented")),
                                                                    IdentifierSchemas(),
                                                                    TypeSchemas(
                                                                            TypeSchema(Sbol2Terms.component.sequenceComponent)
                                                                    ),
                                                                    PropertySchemas(
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.instantiation.subComponentInstantiation)
                                                                                    ),
                                                                                    cardinality.required,
                                                                                    PropertyValueSchemas(ReferenceValue(Sbol2Terms.sbol2.namespacedUri("/schema/component_instantiation")))
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.orientation)
                                                                                    ),
                                                                                    cardinality.required,
                                                                                    PropertyValueSchemas(propertyType.oneOf("inline","reverse_compliment"))
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.start)
                                                                                    ),
                                                                                    cardinality.optional,
                                                                                    PropertyValueSchemas(propertyType.integer)
                                                                            ),
                                                                            PropertySchema(
                                                                                    TypeSchemas(
                                                                                            TypeSchema(Sbol2Terms.component.end)
                                                                                    ),
                                                                                    cardinality.optional,
                                                                                    PropertyValueSchemas(propertyType.integer)
                                                                            )
                                                                    )
                                                            )
                                                    )
                                            )
                                    )


                            )

                    )
            )
    );
  }
public static SchemaCatalog makeComponentSchemaCatalog ( ) { return SchemaCatalog ( Sbol2Terms . sbol2 . namespacedUri ( "/schemaexample/component" ) , ImportedSchemas ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/core" ) , Sbol2Terms . sbol2 . namespacedUri ( "/schema/instantiation" ) ) , DocumentSchemas ( DocumentSchema ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/sequence" ) , Extends ( ) , IdentifierSchemas ( ) , TypeSchemas ( TypeSchema ( Sbol2Terms . component . sequence ) ) , PropertySchemas ( PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . elements ) ) , cardinality . required , PropertyValueSchemas ( propertyType . string ) ) ) ) , DocumentSchema ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/sequence_component" ) , Extends ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/documented" ) ) , IdentifierSchemas ( ) , TypeSchemas ( TypeSchema ( Sbol2Terms . component . sequenceComponent ) ) , PropertySchemas ( PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . hasSequence ) ) , cardinality . optional , PropertyValueSchemas ( ReferenceValue ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/sequence" ) ) ) ) , PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . annotation ) ) , cardinality . many , PropertyValueSchemas ( DocumentValue ( DocumentSchema ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/sequence_annotation" ) , Extends ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/documented" ) ) , IdentifierSchemas ( ) , TypeSchemas ( TypeSchema ( Sbol2Terms . component . sequenceComponent ) ) , PropertySchemas ( PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . instantiation . subComponentInstantiation ) ) , cardinality . required , PropertyValueSchemas ( ReferenceValue ( Sbol2Terms . sbol2 . namespacedUri ( "/schema/component_instantiation" ) ) ) ) , PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . orientation ) ) , cardinality . required , PropertyValueSchemas ( propertyType . oneOf ( "inline" , "reverse_compliment" ) ) ) , PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . start ) ) , cardinality . optional , PropertyValueSchemas ( propertyType . integer ) ) , PropertySchema ( TypeSchemas ( TypeSchema ( Sbol2Terms . component . end ) ) , cardinality . optional , PropertyValueSchemas ( propertyType . integer ) ) ) ) ) ) ) ) ) ) ) ; }
Creates a {@link SchemaCatalog} for the SBOL20 component objects
@return {@link SchemaCatalog}
Creates a {