001    /*
002      Copyright (C) 2002-2003 Renaud Pawlak <renaud@aopsys.com>
003    
004      This program is free software; you can redistribute it and/or modify
005      it under the terms of the GNU Lesser General Public License as
006      published by the Free Software Foundation; either version 2 of the
007      License, or (at your option) any later version.
008    
009      This program is distributed in the hope that it will be useful,
010      but WITHOUT ANY WARRANTY; without even the implied warranty of
011      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
012      GNU Lesser General Public License for more details.
013    
014      You should have received a copy of the GNU Lesser General Public
015      License along with this program; if not, write to the Free Software
016      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
017      USA */
018    
019    package org.objectweb.jac.ide;
020    
021    /**
022     * A representation of a type. It can be an external type --
023     * e.g. <code>java.util.Vector</code> or an internally defined class
024     * or typed element.
025     *
026     * @see Class
027     * @see Aspect */
028    
029    public class Type extends ModelElement {
030    
031       public Type() {}
032    
033       public Type(String name, String packagePath) {
034          super(name);
035          this.packagePath = packagePath;
036       }
037    
038       public String getFullName() {
039          if (packagePath != null && !packagePath.equals("")) {
040             return packagePath+"."+name;
041          } else {
042             return name;
043          }
044       }
045    
046       public boolean isPrimitive() {
047          return Character.getType(name.charAt(0))==Character.LOWERCASE_LETTER;
048       }
049    
050       String packagePath="";
051       
052       /**
053        * Get the value of packagePath.
054        * @return value of packagePath.
055        */
056       public String getPackagePath() {
057          return packagePath;
058       }
059       
060       /**
061        * Set the value of packagePath.
062        * @param v  Value to assign to packagePath.
063        */
064       public void setPackagePath(String  v) {
065          this.packagePath = v;
066       }
067       
068    }