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

org.refcodes.component.ext.observer.ObservableLifecycleAutomatonAccessor Maven / Gradle / Ivy

Go to download

Artifact for providing event based extended functionality for the refcodes-component artifact.

There is a newer version: 3.3.8
Show newest version
package org.refcodes.component.ext.observer;

/**
 * Provides an accessor for an {@link ObservableLifecycleStatusAutomaton}
 * property. The {@link ObservableLifecycleStatusAutomaton} is a context passed
 * (for example injected) to a service in order configure that service.
 */
public interface ObservableLifecycleAutomatonAccessor {

	/**
	 * Provides access to the {@link ObservableLifecycleStatusAutomaton}
	 * property.
	 * 
	 * @return The {@link ObservableLifecycleStatusAutomaton} property.
	 */
	public ObservableLifecycleStatusAutomaton getObservableLifecycleAutomaton();

	/**
	 * Provides a mutator for an {@link ObservableLifecycleStatusAutomaton}
	 * property. The {@link ObservableLifecycleStatusAutomaton} is a context
	 * passed (for example injected) to a service in order configure that
	 * service.
	 */
	public interface ObservableLifecycleAutomatonMutator {

		/**
		 * Sets the {@link ObservableLifecycleStatusAutomaton} property.
		 * 
		 * @param aObservableLifecycleAutomaton The
		 *        {@link ObservableLifecycleStatusAutomaton} property.
		 */
		public void setObservableLifecycleAutomaton( ObservableLifecycleStatusAutomaton aObservableLifecycleAutomaton );
	}

	/**
	 * Provides an {@link ObservableLifecycleStatusAutomaton} property.
	 */
	public interface ObservableLifecycleAutomatonProperty extends ObservableLifecycleAutomatonAccessor, ObservableLifecycleAutomatonMutator {
		/**
		 * This method stores and passes through the given argument, which is
		 * very useful for builder APIs: Sets the given
		 * {@link ObservableLifecycleStatusAutomaton} (setter) as of
		 * {@link #setObservableLifecycleAutomaton(ObservableLifecycleStatusAutomaton)}
		 * and returns the very same value (getter).
		 * 
		 * @param aObservableLifecycleAutomaton The
		 *        {@link ObservableLifecycleStatusAutomaton} to set (via
		 *        {@link #setObservableLifecycleAutomaton(ObservableLifecycleStatusAutomaton)}).
		 * 
		 * @return Returns the value passed for it to be used in conclusive
		 *         processing steps.
		 */
		default ObservableLifecycleStatusAutomaton letObservableLifecycleAutomaton( ObservableLifecycleStatusAutomaton aObservableLifecycleAutomaton ) {
			setObservableLifecycleAutomaton( aObservableLifecycleAutomaton );
			return aObservableLifecycleAutomaton;
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy