001/** 002 * GRANITE DATA SERVICES 003 * Copyright (C) 2006-2014 GRANITE DATA SERVICES S.A.S. 004 * 005 * This file is part of the Granite Data Services Platform. 006 * 007 * Granite Data Services is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * Granite Data Services is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 015 * General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this library; if not, write to the Free Software 019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 020 * USA, or see <http://www.gnu.org/licenses/>. 021 */ 022package org.granite.generator.as3.reflect; 023 024import java.util.List; 025import java.util.Set; 026 027import org.granite.generator.as3.ClientType; 028import org.granite.generator.as3.PackageTranslator; 029 030 031/** 032 * @author Franck WOLFF 033 */ 034public class ClientImport extends JavaImport { 035 036 private final String className; 037 private final ClientType clientType = new ClientImportType(); 038 039 public ClientImport(JavaTypeFactory provider, String className, boolean property) { 040 super(provider, Object.class, null); 041 this.className = className; 042 } 043 044 @Override 045 public boolean hasImportPackage() { 046 return true; 047 } 048 049 @Override 050 public String getImportQualifiedName() { 051 return className; 052 } 053 054 @Override 055 public String getImportPackageName() { 056 return className.indexOf(".") > 0 ? className.substring(0, className.lastIndexOf(".")) : ""; 057 } 058 059 @Override 060 public ClientType getAs3Type() { 061 return clientType; 062 } 063 064 @Override 065 public ClientType getClientType() { 066 return clientType; 067 } 068 069 private final class ClientImportType implements ClientType { 070 071 @Override 072 public boolean hasPackage() { 073 return hasImportPackage(); 074 } 075 076 @Override 077 public String getPackageName() { 078 return getImportPackageName(); 079 } 080 081 @Override 082 public String getName() { 083 return getImportQualifiedName(); 084 } 085 086 @Override 087 public String getQualifiedName() { 088 return getImportQualifiedName(); 089 } 090 091 @Override 092 public Object getNullValue() { 093 return null; 094 } 095 096 @Override 097 public Set<String> getImports() { 098 return null; 099 } 100 101 @Override 102 public void addImports(Set<String> imports) { 103 } 104 105 @Override 106 public ClientType toArrayType() { 107 return null; 108 } 109 110 @Override 111 public ClientType translatePackage(PackageTranslator translator) { 112 return null; 113 } 114 115 @Override 116 public ClientType translatePackages(List<PackageTranslator> translators) { 117 return null; 118 } 119 120 } 121}