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

io.helixservice.core.component.Component Maven / Gradle / Ivy

There is a newer version: 1.0.4
Show newest version
/*
 *  Copyright (c) 2016 Les Novell
 *  ------------------------------------------------------
 *   All rights reserved. This program and the accompanying materials
 *   are made available under the terms of the Eclipse Public License v1.0
 *   and Apache License v2.0 which accompanies this distribution.
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 */

/*
 * @author Les Novell
 *
 *   All rights reserved. This program and the accompanying materials
 *   are made available under the terms of the Eclipse Public License v1.0
 *   and Apache License v2.0 which accompanies this distribution.
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 */
package io.helixservice.core.component;

/**
 * Helix Component Interface
 */
public interface Component {
    /**
     * Each component must define it's type name.
     * The type is used for lookup in the component registry.
     * 

* Example component types include "Controller", "ErrorHandler" *

* @return The type of component */ String getComponentType(); /** * Return a human readable short description of this component. * This will be used to log or describe each registered component. * * @return The component description; may be null */ String getComponentDescription(); Component[] EMPTY = new Component[0]; /** * Return list of components contained within this component. *

* This is most useful if the component is a Builder or Factory which * produces additional components that need to be registered with ComponentRegistry. *

* This method must the same array of components each time; * Do not re-construct the contained components on each call. *

* This method will be automatically called by the ComponentRegistry * to register all of its contained components. *

* @return An array of contained components. Default is an empty array. */ default Component[] getContainedComponents() { return EMPTY; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy