001//@formatter:off
002/*
003 * Enterprise Node is the COMPONENT interface in this COMPOSITE-example.
004 * Code-Beispiel zum Buch Patterns Kompakt, Verlag Springer Vieweg
005 * Copyright 2014 Karl Eilebrecht
006 * 
007 * Licensed under the Apache License, Version 2.0 (the "License"):
008 * you may not use this file except in compliance with the License.
009 * You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 */
019//@formatter:on
020package de.calamanari.pk.composite;
021
022/**
023 * Enterprise Node is the COMPONENT interface in this COMPOSITE-example.
024 * 
025 * @author <a href="mailto:Karl.Eilebrecht(a/t)calamanari.de">Karl Eilebrecht</a>
026 */
027public interface EnterpriseNode {
028
029    /**
030     * Name of organizational unit or member
031     * 
032     * @return display name
033     */
034    public String getName();
035
036    /**
037     * Returns some descriptive text
038     * 
039     * @return description
040     */
041    public String getDescription();
042
043    /**
044     * Returns the parent of this node or null for the root element.
045     * 
046     * @return parent node or null
047     */
048    public EnterpriseNode getParentNode();
049
050}