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

com.viaoa.hub.HubTrigger Maven / Gradle / Ivy

package com.viaoa.hub;

import com.viaoa.object.OAObject;
import com.viaoa.remote.multiplexer.OARemoteThreadDelegate;
import com.viaoa.util.OAFilter;

/**
 * This is used to listen to Hub for objects that match filter criteria and then call the onTrigger method.
 * @author vvia
 */
public abstract class HubTrigger extends HubFilter {
    private static final long serialVersionUID = 1L;
    
    public HubTrigger(Hub hubMaster) {
        super(hubMaster, null);
    }
    public HubTrigger(Hub hubMaster, OAFilter filter, String ... dependentPropertyPaths) {
        super(hubMaster, null, filter, dependentPropertyPaths);
    }

    @Override
    protected void addObject(T obj, boolean bIsInitialzing) {
        super.addObject(obj, bIsInitialzing);
        if (bIsInitialzing) return;
        onTrigger(obj);
    }
    @Override
    protected void removeObject(T obj) {
        super.removeObject(obj);
    }
    
    public abstract void onTrigger(T obj);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy