~ubuntu-branches/ubuntu/quantal/netbeans/quantal

« back to all changes in this revision

Viewing changes to languages/engine/src/org/netbeans/modules/languages/Rule.java

  • Committer: Bazaar Package Importer
  • Author(s): Marek Slama
  • Date: 2008-01-29 14:11:22 UTC
  • Revision ID: james.westby@ubuntu.com-20080129141122-fnzjbo11ntghxfu7
Tags: upstream-6.0.1
ImportĀ upstreamĀ versionĀ 6.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 * Portions Copyrighted 2007 Sun Microsystems, Inc.
 
16
 */
 
17
package org.netbeans.modules.languages;
 
18
 
 
19
import java.util.List;
 
20
 
 
21
/**
 
22
 *
 
23
 * @author hanz
 
24
 */
 
25
public class Rule {
 
26
 
 
27
    private String  nt;
 
28
    private List    right;
 
29
 
 
30
    private Rule () {}
 
31
 
 
32
    public static Rule create (
 
33
        String      nt, 
 
34
        List        right
 
35
    ) {
 
36
        Rule r = new Rule ();
 
37
        r.nt = nt;
 
38
        r.right = right;
 
39
        return r;
 
40
    }
 
41
 
 
42
    public String getNT () {
 
43
        return nt;
 
44
    }
 
45
 
 
46
    public List getRight () {
 
47
        return right;
 
48
    }
 
49
 
 
50
    private String toString = null;
 
51
 
 
52
    @Override
 
53
    public String toString () {
 
54
        if (toString == null) {
 
55
            StringBuilder sb = new StringBuilder ();
 
56
            sb.append ("Rule ").append (nt).append (" = ");
 
57
            int i = 0, k = right.size ();
 
58
            if (i < k) 
 
59
                sb.append (right.get (i++));
 
60
            while (i < k)
 
61
                sb.append (' ').append (right.get (i++));
 
62
            toString = sb.toString ();
 
63
        }
 
64
        return toString;
 
65
    }
 
66
}