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

jpos.config.CompositeRegPopulator Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
package jpos.config;

///////////////////////////////////////////////////////////////////////////////
//
// This software is provided "AS IS".  The JavaPOS working group (including
// each of the Corporate members, contributors and individuals)  MAKES NO
// REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
// NON-INFRINGEMENT. The JavaPOS working group shall not be liable for
// any damages suffered as a result of using, modifying or distributing this
// software or its derivatives. Permission to use, copy, modify, and distribute
// the software and its documentation for any purpose is hereby granted. 
//
// The JavaPOS Config/Loader (aka JCL) is now under the CPL license, which 
// is an OSS Apache-like license.  The complete license is located at:
//    http://www.ibm.com/developerworks/library/os-cpl.html
//
///////////////////////////////////////////////////////////////////////////////

import java.util.*;

/**
 * Defines a composite interface collecting many JposRegPopulator objects
 * See GoF Composite pattern for explanation on Composite classes/objects
 * @since 1.3 (Washington DC 2001 meeting)
 * @author E. Michael Maximilien ([email protected])
 */
public interface CompositeRegPopulator extends JposRegPopulator
{
    //-------------------------------------------------------------------------
    // Public methods
    //

	/** @return the default JposRegPopulator */
	public JposRegPopulator getDefaultPopulator();

	/**
	 * Adds this JposRegPopulator to the composite
	 * @param populator adds the populator to the composite reg populator.  Does nothing
	 * if the popualator already is in the composite
	 */
	public void add( JposRegPopulator populator );

	/**
	 * Removes this JposRegPopulator from the composite
	 * @param populator removes the populator to the composite reg populator
	 */
	public void remove( JposRegPopulator populator );

	/** @return an iterator over all populators in this composite */
	public Iterator getPopulators();

	/** 
	 * @return the populator with unique ID passed
	 * @param uniqueId the populator unique ID
	 * @see jpos.config.JposRegPopulator#getUniqueId()
	 */
	public JposRegPopulator getPopulator( String uniqueId );

	/** @return the number of populator in this composite */
	public int size();

	//-------------------------------------------------------------------------
	// Constants
	//

	/** The default name for the CompositeRegPopulator */
	public static final String COMPOSITE_REG_POPULATOR_STRING = "JCL Composite Entries Populator";
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy