KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xslt > model > impl > ReferenceListResolveFactory


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * 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.model.impl;
20
21 import java.util.Collection JavaDoc;
22 import java.util.LinkedList JavaDoc;
23 import java.util.List JavaDoc;
24
25 import org.netbeans.modules.xslt.model.ReferenceableXslComponent;
26 import org.netbeans.modules.xslt.model.XslReference;
27
28
29 /**
30  * This interface is intended for custom
31  * reference list resolving.
32  * There is a comon way for resolving reference list :
33  * when each token in list correspond ONLY one referenced
34  * component. It is used in AttributeAccess#resolveGlobalReferenceList
35  * method. But sometimes there can be more referenced
36  * elements than original token size in list.
37  * This interface will be used for applying implemented
38  * in custom way such logic.
39  *
40  * @author ads
41  *
42  */

43 interface ReferenceListResolveFactory {
44
45     boolean isApplicable( Class JavaDoc referenceType );
46     
47     <T extends ReferenceableXslComponent> List JavaDoc<XslReference<T>> resolve(
48             AttributeAccess access , Class JavaDoc<T> clazz, String JavaDoc value );
49     
50     class Factories {
51         static final Collection JavaDoc<ReferenceListResolveFactory> FACTORIES =
52             new LinkedList JavaDoc<ReferenceListResolveFactory>();
53         
54         static {
55             FACTORIES.add( new AttributeSetReferenceListResolver() );
56         }
57     }
58 }
59
Popular Tags