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

com.syntaxphoenix.syntaxapi.service.ServiceMethodValue Maven / Gradle / Ivy

There is a newer version: 2.0.13
Show newest version
package com.syntaxphoenix.syntaxapi.service;

import java.lang.reflect.Method;

public class ServiceMethodValue implements IServiceValue {

    private final Object instance;
    private final Class owner;

    private final Method method;
    private final SubscribeService annotation;

    public ServiceMethodValue(Class owner, Method method) {
        this(owner, method, null);
    }

    public ServiceMethodValue(Class owner, Method method, Object instance) {
        this.owner = owner;
        this.instance = instance;

        this.method = method;
        this.annotation = method.getAnnotation(SubscribeService.class);
    }

    /*
     * 
     */

    @Override
    public Class getOwner() {
        return owner;
    }

    @Override
    public Object getOwnerInstance() {
        return instance;
    }

    /*
     * 
     */

    @Override
    public ValueType getType() {
        return ValueType.METHOD;
    }

    @Override
    public Method asMethod() {
        return method;
    }

    @Override
    public Method getObject() {
        return method;
    }

    @Override
    public SubscribeService getAnnotation() {
        return annotation;
    }

    @Override
    public ServicePriority getPriority() {
        return annotation.priority();
    }

    @Override
    public Class getService() {
        return annotation.service();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy