Interface ServiceConfiguration<T extends Service,​R>

    • Method Detail

      • getServiceType

        java.lang.Class<T> getServiceType()
        Indicates which service this configuration works with.
        Returns:
        the service type
      • derive

        default R derive()
                  throws java.lang.UnsupportedOperationException
        Derive a detached representation from this configuration
        Returns:
        a detached representation
        Throws:
        java.lang.UnsupportedOperationException - if the configuration has no representation
      • build

        default ServiceConfiguration<T,​?> build​(R representation)
                                               throws java.lang.UnsupportedOperationException
        Construct a new configuration from the given detached representation.
        Parameters:
        representation - a detached representation
        Returns:
        a new configuration
        Throws:
        java.lang.UnsupportedOperationException - if the configuration has no representation
      • compatibleWith

        default boolean compatibleWith​(ServiceConfiguration<?,​?> other)
        Returns true if this configuration can co-exist with other in the same cache configuration.

        The default implementation of compatibleWith (as used by many of the implementations) considers any instance of the same type (or a sub-type) to be incompatible with this instance.

        Parameters:
        other - other service configuration
        Returns:
        true if the two configurations are compatible