001    package org.mesopotamia.lang.java.ref;
002    
003    import java.util.ArrayList;
004    import java.util.Collections;
005    import java.util.List;
006    
007    /**
008     * Simple implementation of type info which knows only its FCN.
009     * @author Pavel
010     *
011     */
012    public class TypeInfoImpl implements TypeInfo {
013            
014            private String fcn;
015    
016            public TypeInfoImpl(String fcn) {
017                    this.fcn = fcn;
018            }
019    
020            public TypeInfo findNestedType(String name) {
021                    return null;
022            }
023    
024            public MethodInfo findTypeMethod(String name, String[] parameterTypes) {
025                    return null;
026            }
027    
028            public VariableInfo findTypeVariable(String name) {
029                    return null;
030            }
031    
032            public boolean isKindOf(String superFcn) {
033                    return fcn.equals(superFcn);
034            }
035    
036            public TypeInfo getDeclaringType() {
037                    return null;
038            }
039    
040            public String getFcn() {
041                    return fcn;
042            }
043            
044            private static final List<String> emptyList = Collections.unmodifiableList(new ArrayList<String>());
045    
046            public List<String> getModifiers() {
047                    return emptyList;
048            }
049    
050            public String getName() {
051                    int idx = fcn.lastIndexOf('.');
052                    return idx==-1 ? fcn : fcn.substring(idx+1);
053            }
054    
055            public MethodInfo findConstructor(String[] parameterTypes) {
056                    return null;
057            }
058    
059    }