1 /* 2 * ModeShape (http://www.modeshape.org) 3 * See the COPYRIGHT.txt file distributed with this work for information 4 * regarding copyright ownership. Some portions may be licensed 5 * to Red Hat, Inc. under one or more contributor license agreements. 6 * See the AUTHORS.txt file in the distribution for a full listing of 7 * individual contributors. 8 * 9 * ModeShape is free software. Unless otherwise indicated, all code in ModeShape 10 * is licensed to you under the terms of the GNU Lesser General Public License as 11 * published by the Free Software Foundation; either version 2.1 of 12 * the License, or (at your option) any later version. 13 * 14 * ModeShape is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public 20 * License along with this software; if not, write to the Free 21 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 22 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 23 */ 24 package org.modeshape.sequencer.java.metadata; 25 26 import java.util.ArrayList; 27 import java.util.LinkedList; 28 import java.util.List; 29 30 /** 31 * FieldMetadata is the base class of all fields. 32 */ 33 public class FieldMetadata { 34 35 /** The type of the field */ 36 private String type; 37 38 private String name; 39 40 /** The variables */ 41 private List<Variable> variables = new ArrayList<Variable>(); 42 43 private List<ModifierMetadata> modifierMetadatas = new ArrayList<ModifierMetadata>(); 44 45 private List<AnnotationMetadata> annotations = new LinkedList<AnnotationMetadata>(); 46 47 48 public List<AnnotationMetadata> getAnnotations() { 49 return annotations; 50 } 51 52 /** 53 * @return variables 54 */ 55 public List<Variable> getVariables() { 56 return variables; 57 } 58 59 /** 60 * @param variables Sets variables to the specified value. 61 */ 62 public void setVariables( List<Variable> variables ) { 63 this.variables = variables; 64 } 65 66 /** 67 * @return type 68 */ 69 public String getType() { 70 return type; 71 } 72 73 /** 74 * @param type Sets type to the specified value. 75 */ 76 public void setType( String type ) { 77 this.type = type; 78 } 79 80 /** 81 * @return the name of the field 82 */ 83 public String getName() { 84 return name; 85 } 86 87 /** 88 * @param name the new name for the field 89 */ 90 public void setName( String name ) { 91 this.name = name; 92 } 93 94 /** 95 * @return modifierMetadatas 96 */ 97 public List<ModifierMetadata> getModifiers() { 98 return modifierMetadatas; 99 } 100 101 /** 102 * @param modifierMetadatas Sets modifierMetadatas to the specified value. 103 */ 104 public void setModifiers( List<ModifierMetadata> modifierMetadatas ) { 105 this.modifierMetadatas = modifierMetadatas; 106 } 107 108 /** 109 * @param modifierName the name of the modifier to check for 110 * @return true if the type has a modifier of that name, otherwise false 111 */ 112 public boolean hasModifierNamed( String modifierName ) { 113 for (ModifierMetadata modifier : modifierMetadatas) { 114 if (modifierName.equals(modifier.getName())) { 115 return true; 116 } 117 } 118 119 return false; 120 121 } 122 123 /** 124 * Find out if a field is primitive type or not. 125 * 126 * @return true if field is a primitive type. 127 */ 128 public boolean isPrimitiveType() { 129 return false; 130 } 131 132 /** 133 * Find out if a field is a simple type or not. 134 * 135 * @return true if field is a simple type. 136 */ 137 public boolean isSimpleType() { 138 return false; 139 } 140 141 /** 142 * Find out if a field is a array type or not. 143 * 144 * @return true if field is a array type. 145 */ 146 public boolean isArrayType() { 147 return false; 148 } 149 150 /** 151 * Find out if a field is a qualified type or not. 152 * 153 * @return true if field is a qualified type. 154 */ 155 public boolean isQualifiedType() { 156 return false; 157 } 158 159 /** 160 * Find out if a field is a parameterized type or not. 161 * 162 * @return true if field is a parameterized type. 163 */ 164 public boolean isParameterizedType() { 165 return false; 166 } 167 168 /** 169 * Find out if a field is a wild card type or not. 170 * 171 * @return true if field is a wild card type. 172 */ 173 public boolean isWildcardType() { 174 return false; 175 } 176 }