root / trunk / JavaChecker / jsrc / ua / gradsoft / javachecker / models / JavaTermFormalParameterModel.java @ 15107

1
/*
2
 * JavaTermFormalParameterModel.java
3
 *
4
 *
5
 * Copyright (c) 2006 GradSoft  Ukraine
6
 * All Rights Reserved
7
 */
8
9
10
package ua.gradsoft.javachecker.models;
11
12
import java.lang.annotation.ElementType;
13
import java.util.Map;
14
import ua.gradsoft.termware.Term;
15
import ua.gradsoft.termware.TermWareException;
16
17
/**
18
 *Model for Java Formal Parameter
19
 * @author Ruslan Shevchenko
20
 */
21
public class JavaTermFormalParameterModel extends JavaFormalParameterModel
22
{
23
    
24
    public JavaTermFormalParameterModel(Term modifiers, String name, JavaTypeModel typeModel, JavaTopLevelBlockOwnerModel owner, int index) throws TermWareException
25
    {
26
      modifiers_=new JavaTermModifiersModel(modifiers,ElementType.PARAMETER,this);
27
      name_=name;
28
      typeModel_=typeModel;
29
      owner_=owner;
30
      index_=index;
31
    }
32
33
    
34
    public JavaTermModifiersModel getModifiers()
35
    { return modifiers_; }
36
    
37
    public String getName()
38
    { return name_; }
39
    
40
    public JavaVariableKind getKind()
41
    { return JavaVariableKind.FORMAL_PARAMETER; }
42
    
43
    public JavaTypeModel getType()
44
    { return typeModel_; }
45
        
46
    
47
    public JavaTopLevelBlockOwnerModel  getTopLevelBlockOwner()
48
    { return owner_; }
49
    
50
    @Override
51
    public Map<String,JavaAnnotationInstanceModel>  getAnnotationsMap()
52
    { return modifiers_.getAnnotationsMap(); }
53
54
    @Override
55
    public Term getAttribute(String name) throws TermWareException
56
    {
57
       return owner_.getChildAttributes(name_).getAttribute(name); 
58
    }
59
60
    @Override
61
    public void setAttribute(String name, Term value) throws TermWareException
62
    {
63
       owner_.getChildAttributes(name_).setAttribute(name,value);  
64
    }
65
    
66
    /**
67
     *@return index of this formal parameters in call, started from 0
68
     */
69
    public int getIndex()
70
    { return index_; }
71
72
    /**
73
     * @return false
74
     */
75
    @Override
76
    public boolean isConstant()
77
    { return false; }
78
    
79
    private JavaTermModifiersModel  modifiers_;
80
    private String name_;
81
    private JavaTypeModel   typeModel_;
82
    private JavaTopLevelBlockOwnerModel owner_;
83
    private int index_;
84
    
85
}