1 /*2 * The contents of this file are subject to the terms of the Common Development3 * and Distribution License (the License). You may not use this file except in4 * compliance with the License.5 *6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html7 * or http://www.netbeans.org/cddl.txt.8 *9 * When distributing Covered Code, include this CDDL Header Notice in each file10 * and include the License file at http://www.netbeans.org/cddl.txt.11 * If applicable, add the following below the CDDL Header, with the fields12 * enclosed by brackets [] replaced by your own identifying information:13 * "Portions Copyrighted [year] [name of copyright owner]"14 *15 * The Original Software is NetBeans. The Initial Developer of the Original16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun17 * Microsystems, Inc. All Rights Reserved.18 */19 20 package org.netbeans.jmi.javamodel;21 22 /**23 * JavaModel package interface.24 * Entry point to the Java metadata. Contains getters for all element class25 * element objects - i.e. factories (represented by <i>ElementName</i>Class26 * interfaces). Represents a virtual Java metadata database containing all27 * metadata for a given set of Java sources or class files (e.g. a classpath28 * element).29 * <p/>30 * Here is a simple example of using JavaModelPackage to create a new instan31 * ce of a Resource (representing a file containing Java classes):32 * <p/>33 * <pre>34 * // obtain instance of JavaModelPackage35 * // e.g. by calling MDRepository.getExtent()36 * // or using some utility method that can be provided37 * // by an implementation of a Java repository38 * JavaModelPackage pkg = ...39 * // get reference to a factory for Resource meta-class40 * ResourceClass rscFactory = pkg.getResource();41 * // create a new instance of Resource42 * Resource rsc = rscFactory.createResource();43 * </pre>44 * 45 * <p><em><strong>Note:</strong> This type should not be subclassed or implemented 46 * by clients. It is generated from a MOF metamodel and automatically implemented 47 * by MDR (see <a HREF="http://mdr.netbeans.org/">mdr.netbeans.org</a>).</em></p>48 */49 public interface JavaModelPackage extends javax.jmi.reflect.RefPackage {50 /**51 * Returns UnresolvedAnnotationType class proxy object.52 * @return UnresolvedAnnotationType class proxy object.53 */54 public org.netbeans.jmi.javamodel.UnresolvedAnnotationTypeClass getUnresolvedAnnotationType();55 /**56 * Returns ArgumentList class proxy object.57 * @return ArgumentList class proxy object.58 */59 public org.netbeans.jmi.javamodel.ArgumentListClass getArgumentList();60 /**61 * Returns TypeArgument class proxy object.62 * @return TypeArgument class proxy object.63 */64 public org.netbeans.jmi.javamodel.TypeArgumentClass getTypeArgument();65 /**66 * Returns Feature class proxy object.67 * @return Feature class proxy object.68 */69 public org.netbeans.jmi.javamodel.FeatureClass getFeature();70 /**71 * Returns ArrayReference class proxy object.72 * @return ArrayReference class proxy object.73 */74 public org.netbeans.jmi.javamodel.ArrayReferenceClass getArrayReference();75 /**76 * Returns FieldGroup class proxy object.77 * @return FieldGroup class proxy object.78 */79 public org.netbeans.jmi.javamodel.FieldGroupClass getFieldGroup();80 /**81 * Returns TypeReference class proxy object.82 * @return TypeReference class proxy object.83 */84 public org.netbeans.jmi.javamodel.TypeReferenceClass getTypeReference();85 /**86 * Returns ExpressionStatement class proxy object.87 * @return ExpressionStatement class proxy object.88 */89 public org.netbeans.jmi.javamodel.ExpressionStatementClass getExpressionStatement();90 /**91 * Returns NullLiteral class proxy object.92 * @return NullLiteral class proxy object.93 */94 public org.netbeans.jmi.javamodel.NullLiteralClass getNullLiteral();95 /**96 * Returns CharLiteral class proxy object.97 * @return CharLiteral class proxy object.98 */99 public org.netbeans.jmi.javamodel.CharLiteralClass getCharLiteral();100 /**101 * Returns DoubleLiteral class proxy object.102 * @return DoubleLiteral class proxy object.103 */104 public org.netbeans.jmi.javamodel.DoubleLiteralClass getDoubleLiteral();105 /**106 * Returns FloatLiteral class proxy object.107 * @return FloatLiteral class proxy object.108 */109 public org.netbeans.jmi.javamodel.FloatLiteralClass getFloatLiteral();110 /**111 * Returns BooleanLiteral class proxy object.112 * @return BooleanLiteral class proxy object.113 */114 public org.netbeans.jmi.javamodel.BooleanLiteralClass getBooleanLiteral();115 /**116 * Returns LongLiteral class proxy object.117 * @return LongLiteral class proxy object.118 */119 public org.netbeans.jmi.javamodel.LongLiteralClass getLongLiteral();120 /**121 * Returns IntLiteral class proxy object.122 * @return IntLiteral class proxy object.123 */124 public org.netbeans.jmi.javamodel.IntLiteralClass getIntLiteral();125 /**126 * Returns StringLiteral class proxy object.127 * @return StringLiteral class proxy object.128 */129 public org.netbeans.jmi.javamodel.StringLiteralClass getStringLiteral();130 /**131 * Returns LocalVarDeclaration class proxy object.132 * @return LocalVarDeclaration class proxy object.133 */134 public org.netbeans.jmi.javamodel.LocalVarDeclarationClass getLocalVarDeclaration();135 /**136 * Returns ConstructorInvocation class proxy object.137 * @return ConstructorInvocation class proxy object.138 */139 public org.netbeans.jmi.javamodel.ConstructorInvocationClass getConstructorInvocation();140 /**141 * Returns ArrayInitialization class proxy object.142 * @return ArrayInitialization class proxy object.143 */144 public org.netbeans.jmi.javamodel.ArrayInitializationClass getArrayInitialization();145 /**146 * Returns ForEachStatement class proxy object.147 * @return ForEachStatement class proxy object.148 */149 public org.netbeans.jmi.javamodel.ForEachStatementClass getForEachStatement();150 /**151 * Returns EnumConstant class proxy object.152 * @return EnumConstant class proxy object.153 */154 public org.netbeans.jmi.javamodel.EnumConstantClass getEnumConstant();155 /**156 * Returns JavaEnum class proxy object.157 * @return JavaEnum class proxy object.158 */159 public org.netbeans.jmi.javamodel.JavaEnumClass getJavaEnum();160 /**161 * Returns AnnotableElement class proxy object.162 * @return AnnotableElement class proxy object.163 */164 public org.netbeans.jmi.javamodel.AnnotableElementClass getAnnotableElement();165 /**166 * Returns Annotation class proxy object.167 * @return Annotation class proxy object.168 */169 public org.netbeans.jmi.javamodel.AnnotationClass getAnnotation();170 /**171 * Returns AttributeValue class proxy object.172 * @return AttributeValue class proxy object.173 */174 public org.netbeans.jmi.javamodel.AttributeValueClass getAttributeValue();175 /**176 * Returns Attribute class proxy object.177 * @return Attribute class proxy object.178 */179 public org.netbeans.jmi.javamodel.AttributeClass getAttribute();180 /**181 * Returns AnnotationType class proxy object.182 * @return AnnotationType class proxy object.183 */184 public org.netbeans.jmi.javamodel.AnnotationTypeClass getAnnotationType();185 /**186 * Returns UnresolvedClass class proxy object.187 * @return UnresolvedClass class proxy object.188 */189 public org.netbeans.jmi.javamodel.UnresolvedClassClass getUnresolvedClass();190 /**191 * Returns ElementReference class proxy object.192 * @return ElementReference class proxy object.193 */194 public org.netbeans.jmi.javamodel.ElementReferenceClass getElementReference();195 /**196 * Returns Invocation class proxy object.197 * @return Invocation class proxy object.198 */199 public org.netbeans.jmi.javamodel.InvocationClass getInvocation();200 /**201 * Returns ClassDefinition class proxy object.202 * @return ClassDefinition class proxy object.203 */204 public org.netbeans.jmi.javamodel.ClassDefinitionClass getClassDefinition();205 /**206 * Returns ComplexExpression class proxy object.207 * @return ComplexExpression class proxy object.208 */209 public org.netbeans.jmi.javamodel.ComplexExpressionClass getComplexExpression();210 /**211 * Returns ClassExpression class proxy object.212 * @return ClassExpression class proxy object.213 */214 public org.netbeans.jmi.javamodel.ClassExpressionClass getClassExpression();215 /**216 * Returns ThisExpression class proxy object.217 * @return ThisExpression class proxy object.218 */219 public org.netbeans.jmi.javamodel.ThisExpressionClass getThisExpression();220 /**221 * Returns Literal class proxy object.222 * @return Literal class proxy object.223 */224 public org.netbeans.jmi.javamodel.LiteralClass getLiteral();225 /**226 * Returns NewClassExpression class proxy object.227 * @return NewClassExpression class proxy object.228 */229 public org.netbeans.jmi.javamodel.NewClassExpressionClass getNewClassExpression();230 /**231 * Returns NewArrayExpression class proxy object.232 * @return NewArrayExpression class proxy object.233 */234 public org.netbeans.jmi.javamodel.NewArrayExpressionClass getNewArrayExpression();235 /**236 * Returns VariableAccess class proxy object.237 * @return VariableAccess class proxy object.238 */239 public org.netbeans.jmi.javamodel.VariableAccessClass getVariableAccess();240 /**241 * Returns MethodInvocation class proxy object.242 * @return MethodInvocation class proxy object.243 */244 public org.netbeans.jmi.javamodel.MethodInvocationClass getMethodInvocation();245 /**246 * Returns ArrayAccess class proxy object.247 * @return ArrayAccess class proxy object.248 */249 public org.netbeans.jmi.javamodel.ArrayAccessClass getArrayAccess();250 /**251 * Returns MultipartId class proxy object.252 * @return MultipartId class proxy object.253 */254 public org.netbeans.jmi.javamodel.MultipartIdClass getMultipartId();255 /**256 * Returns PrimaryExpression class proxy object.257 * @return PrimaryExpression class proxy object.258 */259 public org.netbeans.jmi.javamodel.PrimaryExpressionClass getPrimaryExpression();260 /**261 * Returns PostfixExpression class proxy object.262 * @return PostfixExpression class proxy object.263 */264 public org.netbeans.jmi.javamodel.PostfixExpressionClass getPostfixExpression();265 /**266 * Returns PrefixExpression class proxy object.267 * @return PrefixExpression class proxy object.268 */269 public org.netbeans.jmi.javamodel.PrefixExpressionClass getPrefixExpression();270 /**271 * Returns TypeCast class proxy object.272 * @return TypeCast class proxy object.273 */274 public org.netbeans.jmi.javamodel.TypeCastClass getTypeCast();275 /**276 * Returns UnaryExpression class proxy object.277 * @return UnaryExpression class proxy object.278 */279 public org.netbeans.jmi.javamodel.UnaryExpressionClass getUnaryExpression();280 /**281 * Returns InfixExpression class proxy object.282 * @return InfixExpression class proxy object.283 */284 public org.netbeans.jmi.javamodel.InfixExpressionClass getInfixExpression();285 /**286 * Returns ConditionalExpression class proxy object.287 * @return ConditionalExpression class proxy object.288 */289 public org.netbeans.jmi.javamodel.ConditionalExpressionClass getConditionalExpression();290 /**291 * Returns Assignment class proxy object.292 * @return Assignment class proxy object.293 */294 public org.netbeans.jmi.javamodel.AssignmentClass getAssignment();295 /**296 * Returns Import class proxy object.297 * @return Import class proxy object.298 */299 public org.netbeans.jmi.javamodel.ImportClass getImport();300 /**301 * Returns JavaDoc class proxy object.302 * @return JavaDoc class proxy object.303 */304 public org.netbeans.jmi.javamodel.JavaDocClass getJavaDoc();305 /**306 * Returns TagValue class proxy object.307 * @return TagValue class proxy object.308 */309 public org.netbeans.jmi.javamodel.TagValueClass getTagValue();310 /**311 * Returns TagDefinition class proxy object.312 * @return TagDefinition class proxy object.313 */314 public org.netbeans.jmi.javamodel.TagDefinitionClass getTagDefinition();315 /**316 * Returns Catch class proxy object.317 * @return Catch class proxy object.318 */319 public org.netbeans.jmi.javamodel.CatchClass getCatch();320 /**321 * Returns TryStatement class proxy object.322 * @return TryStatement class proxy object.323 */324 public org.netbeans.jmi.javamodel.TryStatementClass getTryStatement();325 /**326 * Returns AssertStatement class proxy object.327 * @return AssertStatement class proxy object.328 */329 public org.netbeans.jmi.javamodel.AssertStatementClass getAssertStatement();330 /**331 * Returns ThrowStatement class proxy object.332 * @return ThrowStatement class proxy object.333 */334 public org.netbeans.jmi.javamodel.ThrowStatementClass getThrowStatement();335 /**336 * Returns SynchronizedStatement class proxy object.337 * @return SynchronizedStatement class proxy object.338 */339 public org.netbeans.jmi.javamodel.SynchronizedStatementClass getSynchronizedStatement();340 /**341 * Returns ReturnStatement class proxy object.342 * @return ReturnStatement class proxy object.343 */344 public org.netbeans.jmi.javamodel.ReturnStatementClass getReturnStatement();345 /**346 * Returns GotoStatement class proxy object.347 * @return GotoStatement class proxy object.348 */349 public org.netbeans.jmi.javamodel.GotoStatementClass getGotoStatement();350 /**351 * Returns ContinueStatement class proxy object.352 * @return ContinueStatement class proxy object.353 */354 public org.netbeans.jmi.javamodel.ContinueStatementClass getContinueStatement();355 /**356 * Returns BreakStatement class proxy object.357 * @return BreakStatement class proxy object.358 */359 public org.netbeans.jmi.javamodel.BreakStatementClass getBreakStatement();360 /**361 * Returns DoStatement class proxy object.362 * @return DoStatement class proxy object.363 */364 public org.netbeans.jmi.javamodel.DoStatementClass getDoStatement();365 /**366 * Returns Case class proxy object.367 * @return Case class proxy object.368 */369 public org.netbeans.jmi.javamodel.CaseClass getCase();370 /**371 * Returns SwitchStatement class proxy object.372 * @return SwitchStatement class proxy object.373 */374 public org.netbeans.jmi.javamodel.SwitchStatementClass getSwitchStatement();375 /**376 * Returns EmptyStatement class proxy object.377 * @return EmptyStatement class proxy object.378 */379 public org.netbeans.jmi.javamodel.EmptyStatementClass getEmptyStatement();380 /**381 * Returns ForStatement class proxy object.382 * @return ForStatement class proxy object.383 */384 public org.netbeans.jmi.javamodel.ForStatementClass getForStatement();385 /**386 * Returns Condition class proxy object.387 * @return Condition class proxy object.388 */389 public org.netbeans.jmi.javamodel.ConditionClass getCondition();390 /**391 * Returns WhileStatement class proxy object.392 * @return WhileStatement class proxy object.393 */394 public org.netbeans.jmi.javamodel.WhileStatementClass getWhileStatement();395 /**396 * Returns Expression class proxy object.397 * @return Expression class proxy object.398 */399 public org.netbeans.jmi.javamodel.ExpressionClass getExpression();400 /**401 * Returns IfStatement class proxy object.402 * @return IfStatement class proxy object.403 */404 public org.netbeans.jmi.javamodel.IfStatementClass getIfStatement();405 /**406 * Returns LabeledStatement class proxy object.407 * @return LabeledStatement class proxy object.408 */409 public org.netbeans.jmi.javamodel.LabeledStatementClass getLabeledStatement();410 /**411 * Returns Statement class proxy object.412 * @return Statement class proxy object.413 */414 public org.netbeans.jmi.javamodel.StatementClass getStatement();415 /**416 * Returns InitialValue class proxy object.417 * @return InitialValue class proxy object.418 */419 public org.netbeans.jmi.javamodel.InitialValueClass getInitialValue();420 /**421 * Returns LocalVariable class proxy object.422 * @return LocalVariable class proxy object.423 */424 public org.netbeans.jmi.javamodel.LocalVariableClass getLocalVariable();425 /**426 * Returns StructuralElement class proxy object.427 * @return StructuralElement class proxy object.428 */429 public org.netbeans.jmi.javamodel.StructuralElementClass getStructuralElement();430 /**431 * Returns Variable class proxy object.432 * @return Variable class proxy object.433 */434 public org.netbeans.jmi.javamodel.VariableClass getVariable();435 /**436 * Returns StatementBlock class proxy object.437 * @return StatementBlock class proxy object.438 */439 public org.netbeans.jmi.javamodel.StatementBlockClass getStatementBlock();440 /**441 * Returns BehavioralFeature class proxy object.442 * @return BehavioralFeature class proxy object.443 */444 public org.netbeans.jmi.javamodel.BehavioralFeatureClass getBehavioralFeature();445 /**446 * Returns NamedElement class proxy object.447 * @return NamedElement class proxy object.448 */449 public org.netbeans.jmi.javamodel.NamedElementClass getNamedElement();450 /**451 * Returns Codebase class proxy object.452 * @return Codebase class proxy object.453 */454 public org.netbeans.jmi.javamodel.CodebaseClass getCodebase();455 /**456 * Returns Element class proxy object.457 * @return Element class proxy object.458 */459 public org.netbeans.jmi.javamodel.ElementClass getElement();460 /**461 * Returns ClassMember class proxy object.462 * @return ClassMember class proxy object.463 */464 public org.netbeans.jmi.javamodel.ClassMemberClass getClassMember();465 /**466 * Returns TypedElement class proxy object.467 * @return TypedElement class proxy object.468 */469 public org.netbeans.jmi.javamodel.TypedElementClass getTypedElement();470 /**471 * Returns CallableFeature class proxy object.472 * @return CallableFeature class proxy object.473 */474 public org.netbeans.jmi.javamodel.CallableFeatureClass getCallableFeature();475 /**476 * Returns GenericElement class proxy object.477 * @return GenericElement class proxy object.478 */479 public org.netbeans.jmi.javamodel.GenericElementClass getGenericElement();480 /**481 * Returns WildCard class proxy object.482 * @return WildCard class proxy object.483 */484 public org.netbeans.jmi.javamodel.WildCardClass getWildCard();485 /**486 * Returns TypeParameter class proxy object.487 * @return TypeParameter class proxy object.488 */489 public org.netbeans.jmi.javamodel.TypeParameterClass getTypeParameter();490 /**491 * Returns ParameterizedType class proxy object.492 * @return ParameterizedType class proxy object.493 */494 public org.netbeans.jmi.javamodel.ParameterizedTypeClass getParameterizedType();495 /**496 * Returns Type class proxy object.497 * @return Type class proxy object.498 */499 public org.netbeans.jmi.javamodel.TypeClass getType();500 /**501 * Returns Parameter class proxy object.502 * @return Parameter class proxy object.503 */504 public org.netbeans.jmi.javamodel.ParameterClass getParameter();505 /**506 * Returns Array class proxy object.507 * @return Array class proxy object.508 */509 public org.netbeans.jmi.javamodel.ArrayClass getArray();510 /**511 * Returns PrimitiveType class proxy object.512 * @return PrimitiveType class proxy object.513 */514 public org.netbeans.jmi.javamodel.PrimitiveTypeClass getPrimitiveType();515 /**516 * Returns Resource class proxy object.517 * @return Resource class proxy object.518 */519 public org.netbeans.jmi.javamodel.ResourceClass getResource();520 /**521 * Returns JavaPackage class proxy object.522 * @return JavaPackage class proxy object.523 */524 public org.netbeans.jmi.javamodel.JavaPackageClass getJavaPackage();525 /**526 * Returns JavaClass class proxy object.527 * @return JavaClass class proxy object.528 */529 public org.netbeans.jmi.javamodel.JavaClassClass getJavaClass();530 /**531 * Returns Initializer class proxy object.532 * @return Initializer class proxy object.533 */534 public org.netbeans.jmi.javamodel.InitializerClass getInitializer();535 /**536 * Returns Field class proxy object.537 * @return Field class proxy object.538 */539 public org.netbeans.jmi.javamodel.FieldClass getField();540 /**541 * Returns Constructor class proxy object.542 * @return Constructor class proxy object.543 */544 public org.netbeans.jmi.javamodel.ConstructorClass getConstructor();545 /**546 * Returns Method class proxy object.547 * @return Method class proxy object.548 */549 public org.netbeans.jmi.javamodel.MethodClass getMethod();550 /**551 * Returns ContainsSubPackages association proxy object.552 * @return ContainsSubPackages association proxy object.553 */554 public org.netbeans.jmi.javamodel.ContainsSubPackages getContainsSubPackages();555 /**556 * Returns ContainsResources association proxy object.557 * @return ContainsResources association proxy object.558 */559 public org.netbeans.jmi.javamodel.ContainsResources getContainsResources();560 /**561 * Returns Imports association proxy object.562 * @return Imports association proxy object.563 */564 public org.netbeans.jmi.javamodel.Imports getImports();565 /**566 * Returns HasValues association proxy object.567 * @return HasValues association proxy object.568 */569 public org.netbeans.jmi.javamodel.HasValues getHasValues();570 /**571 * Returns IsOfAnnotationType association proxy object.572 * @return IsOfAnnotationType association proxy object.573 */574 public org.netbeans.jmi.javamodel.IsOfAnnotationType getIsOfAnnotationType();575 /**576 * Returns ResolvesTo association proxy object.577 * @return ResolvesTo association proxy object.578 */579 public org.netbeans.jmi.javamodel.ResolvesTo getResolvesTo();580 /**581 * Returns Implements association proxy object.582 * @return Implements association proxy object.583 */584 public org.netbeans.jmi.javamodel.Implements getImplements();585 /**586 * Returns Extends association proxy object.587 * @return Extends association proxy object.588 */589 public org.netbeans.jmi.javamodel.Extends getExtends();590 /**591 * Returns IsValueFor association proxy object.592 * @return IsValueFor association proxy object.593 */594 public org.netbeans.jmi.javamodel.IsValueFor getIsValueFor();595 /**596 * Returns HasBound association proxy object.597 * @return HasBound association proxy object.598 */599 public org.netbeans.jmi.javamodel.HasBound getHasBound();600 /**601 * Returns Throws association proxy object.602 * @return Throws association proxy object.603 */604 public org.netbeans.jmi.javamodel.Throws getThrows();605 /**606 * Returns IsOfType association proxy object.607 * @return IsOfType association proxy object.608 */609 public org.netbeans.jmi.javamodel.IsOfType getIsOfType();610 /**611 * Returns IsParameterizedBy association proxy object.612 * @return IsParameterizedBy association proxy object.613 */614 public org.netbeans.jmi.javamodel.IsParameterizedBy getIsParameterizedBy();615 /**616 * Returns IsDefinedBy association proxy object.617 * @return IsDefinedBy association proxy object.618 */619 public org.netbeans.jmi.javamodel.IsDefinedBy getIsDefinedBy();620 /**621 * Creates an instance of ErrorInfo structure type.622 * @param description 623 * @param lineNumber 624 * @param column 625 * @param severity 626 * @param errorId Unique ID of the kind of error represented by this error 627 * info.628 * @param arguments List of Strings representing error parameters.629 * @return Value of ErrorInfo.630 */631 public org.netbeans.jmi.javamodel.ErrorInfo createErrorInfo(java.lang.String description, int lineNumber, int column, org.netbeans.jmi.javamodel.ErrorType severity, java.lang.String errorId, java.util.List arguments);632 }633