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 action(V addon) {
            justAction(addon);
            return false;
        }

        public void justAction(V addon) {

        }

        public void justPost() {

        }

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

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

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

        public static AttachException conflict(String message) {
            return new AttachException("Couldn't attach some addons because conflicts is found: \n"
                    + message);
        }

        private AttachException(String message) {
            super(message);
        }
    }

    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