01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.xslt.tmap.model.api;
20:
21: /**
22: *
23: * @author Vitaly Bychkov
24: * @version 1.0
25: */
26: public interface TMapComponentContainer extends TMapComponent {
27:
28: /**
29: * Common method for deleting child from this parent.
30: *
31: * @param <T>
32: * type of component.
33: * @param component
34: * element for remove.
35: */
36: <T extends TMapComponent> void remove(T component);
37:
38: /**
39: * Returns index of <code>entity</code> in children list with
40: * specified <code>type</code>.
41: * If component is not child of this container then it returns -1.
42: * @param <T> TMapComponent type.
43: * @param type TMapComponent class.
44: * @param component Child component in this container.
45: * @return Index of <code>component</code>.
46: */
47: <T extends TMapComponent> int indexOf(Class<T> type, T component);
48: }
|