Interface Capabilities.Builder

    • Method Detail

      • processesAnnotation

        default Capabilities.Builder processesAnnotation​(String type,
                                                         Class<? extends Bounds> clazz,
                                                         boolean optional)
        Declare that the component will process an annotation
        Parameters:
        type - annotation type
        clazz - bounds class
        optional - true if the component can function and generated output without this
        Returns:
        the builder for chaining
      • createsAnnotation

        default Capabilities.Builder createsAnnotation​(String type,
                                                       Class<? extends Bounds> clazz)
        Declare that the component will create an annotation
        Parameters:
        type - annotation type
        clazz - bounds class
        Returns:
        the builder for chaining
      • deletesAnnotation

        default Capabilities.Builder deletesAnnotation​(String type,
                                                       Class<? extends Bounds> clazz)
        Declare that the component will delete an annotation
        Parameters:
        type - annotation type
        clazz - bounds class
        Returns:
        the builder for chaining
      • processesGroup

        default Capabilities.Builder processesGroup​(String type,
                                                    boolean optional)
        Declare that the component will process a group
        Parameters:
        type - group type
        optional - true if the component can function and generated output without this
        Returns:
        the builder for chaining
      • createsGroup

        default Capabilities.Builder createsGroup​(String type)
        Declare that the component will create a group
        Parameters:
        type - annotation type
        Returns:
        the builder for chaining
      • deletesGroup

        default Capabilities.Builder deletesGroup​(String type)
        Declare that the component will delete a group
        Parameters:
        type - annotation type
        Returns:
        the builder for chaining
      • processesContent

        default Capabilities.Builder processesContent​(Class<? extends Content<?>> clazz,
                                                      boolean optional)
        Declare that the component will process a type of content
        Parameters:
        clazz - content type
        optional - true if the component can function and generated output without this
        Returns:
        the builder for chaining
      • createsContent

        default Capabilities.Builder createsContent​(Class<? extends Content<?>> clazz)
        Declare that the component will create a type of content
        Parameters:
        clazz - content type
        Returns:
        the builder for chaining
      • deletesContent

        default Capabilities.Builder deletesContent​(Class<? extends Content<?>> clazz)
        Declare that the component will delete a type of content
        Parameters:
        clazz - content type
        Returns:
        the builder for chaining
      • usesResource

        default Capabilities.Builder usesResource​(Class<? extends Resource> clazz,
                                                  boolean optional)
        Declare that the component will use a resource
        Parameters:
        clazz - resorce type
        optional - true if the component can function and generated output without this
        Returns:
        the builder for chaining
      • processesAnnotation

        Capabilities.Builder processesAnnotation​(AnnotationCapability capability)
        Declare that the component will process an annotation
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • createsAnnotation

        Capabilities.Builder createsAnnotation​(AnnotationCapability capability)
        Declare that the component will create an annotation
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • deletesAnnotation

        Capabilities.Builder deletesAnnotation​(AnnotationCapability capability)
        Declare that the component will delete an annotation
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • processesGroup

        Capabilities.Builder processesGroup​(GroupCapability capability)
        Declare that the component will process a group
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • createsGroup

        Capabilities.Builder createsGroup​(GroupCapability capability)
        Declare that the component will create a group
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • deletesGroup

        Capabilities.Builder deletesGroup​(GroupCapability capability)
        Declare that the component will delete a group
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • processesContent

        Capabilities.Builder processesContent​(ContentCapability capability)
        Declare that the component will process a content type
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • createsContent

        Capabilities.Builder createsContent​(ContentCapability capability)
        Declare that the component will create a content type
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • deletesContent

        Capabilities.Builder deletesContent​(ContentCapability capability)
        Declare that the component will delete a content type
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • usesResource

        Capabilities.Builder usesResource​(ResourceCapability capability)
        Declare that the component will use a resource
        Parameters:
        capability - capability definition
        Returns:
        the builder for chaining
      • save

        Capabilities save​()
        Save content of the builder into an capabilities

        Note this does not throw an exception (hence overrides the WithSave)

        Specified by:
        save in interface WithSave<Capabilities>
        Returns:
        the object being built by this builder
      • merge

        default Capabilities.Builder merge​(Capabilities capabilities)
        Merge another set of existing capabilities.
        Parameters:
        capabilities - the capabilities to add
        Returns:
        this builder for chaining