All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.lambdacube.aspecio.AspecioConstants Maven / Gradle / Ivy

There is a newer version: 1.0.3
Show newest version
package io.lambdacube.aspecio;

import io.lambdacube.aspecio.aspect.interceptor.Interceptor;

/**
 * Public constants in Aspecio.
 */
public final class AspecioConstants {

    private AspecioConstants() {
    }

    /**
     * Whether or not Aspecio should filter away services that ask for weaving, effectively hiding them from all bundles
     * except the system bundle and Aspecio itself. Set that property to {@literal "false"} in the OSGi framework
     * property or as Java system properties to change Aspecio's behavior.
     */
    public static final String ASPECIO_FILTER_SERVICES = "aspecio.filter.services";

    /**
     * The property a service should register to require Aspecio to weave one or several aspects. The property should be
     * of type String[].
     */
    public static final String SERVICE_ASPECT_WEAVE = "service.aspect.weave";

    /**
     * The property a service should register to ask Aspecio to optionally weave one or several aspects. The property
     * should be of type String[].
     */
    public static final String SERVICE_ASPECT_WEAVE_OPTIONAL = "service.aspect.weave.optional";

    /**
     * The property a service should register to declare an Aspect. The service object registered should be assignable
     * to {@link Interceptor} to be recognized as a proper Aspect.
     */
    public static final String SERVICE_ASPECT = "service.aspect";

    /**
     * The property a service should register, on an Aspect, to ask Aspecio to declare a Boolean property in woven
     * services set to {@link Boolean#TRUE}.
     */
    public static final String SERVICE_ASPECT_EXTRAPROPERTIES = "service.aspect.extraProperties";

    /**
     * The hidden property containing the array of Aspects effectively woven at any given time, for a woven service.
     */
    public static final String _SERVICE_ASPECT_WOVEN = ".service.aspect.woven";

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy