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

com.github.thorbenkuck.di.aspects.AspectWrapper Maven / Gradle / Ivy

The newest version!
package com.github.thorbenkuck.di.aspects;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.lang.annotation.Annotation;

public class AspectWrapper {

    @NotNull
    private final AspectInstance rootAspectInstance;
    @Nullable
    private AspectWrapper next;

    AspectWrapper(@NotNull AspectInstance rootAspectInstance) {
        this.rootAspectInstance = rootAspectInstance;
    }

    @NotNull
    AspectWrapper prepend(final @NotNull AspectInstance aspectInstance) {
        final AspectWrapper returnValue = new AspectWrapper<>(aspectInstance);
        returnValue.next = this;
        return returnValue;
    }

    @NotNull
    public AspectInstance getRootAspect() {
        return rootAspectInstance;
    }

    @Nullable
    public AspectWrapper getNext() {
        return next;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy