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

org.holoeverywhere.addon.IAddonAttacher Maven / Gradle / Ivy

The newest version!

package org.holoeverywhere.addon;

import java.util.Collection;

public interface IAddonAttacher> {
    public abstract static class AddonCallback {
        public boolean mStopped = false;

        public boolean action(V addon) {
            justAction(addon);
            return false;
        }

        public void justAction(V addon) {

        }

        public void justPost() {

        }

        public boolean performAction(V addon) {
            if (action(addon)) {
                stop();
                return true;
            }
            return false;
        }

        public boolean post() {
            justPost();
            return false;
        }

        public void pre() {

        }

        public void stop() {
            mStopped = true;
        }
    }

    public static class AttachException extends RuntimeException {
        private static final long serialVersionUID = 4007240742116340485L;

        public AttachException(Object object, Class clazz) {
            super("Couldn't attach addon " + clazz.getName() + " after init of object " + object);
        }
    }

    public  T addon(Class clazz);

    public void addon(Collection> classes);

    public  T addon(String classname);

    public boolean isAddonAttached(Class clazz);

    public void lockAttaching();

    public Collection> obtainAddonsList();

    public boolean performAddonAction(AddonCallback callback);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy