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: import java.util.concurrent.Callable;
22: import org.netbeans.modules.xml.xam.dom.DocumentModel;
23:
24: /**
25: *
26: * @author Vitaly Bychkov
27: * @version 1.0
28: */
29: public interface TMapModel extends DocumentModel<TMapComponent> {
30:
31: /**
32: * transformmap - is the root component for transformmap
33: * @return transformmap - root component
34: */
35: TransformMap getTransformMap();
36:
37: /**
38: *
39: * @return factory for tmapComponents
40: */
41: TMapComponentFactory getFactory();
42:
43: /**
44: * Performs execution inside transaction block
45: *
46: * @param <V> type for return value.
47: * @param action group of calls to model.
48: * @return return value from action.
49: * @throws Exception {@link Exception} exception that could be thrown by <code>action</code>
50: */
51: <V> V invoke(Callable<V> action) throws Exception;
52:
53: }
|