|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.javacore.jmiimpl.javamodel; import org.netbeans.jmi.javamodel.UnresolvedClass; import org.netbeans.jmi.javamodel.UnresolvedClassClass; import org.netbeans.mdr.handlers.ClassProxyHandler; import org.netbeans.mdr.persistence.MOFID; import org.netbeans.mdr.persistence.StorageException; import org.netbeans.mdr.storagemodel.StorableBaseObject; import org.netbeans.mdr.storagemodel.StorableClass; import org.netbeans.mdr.util.DebugException; import javax.jmi.reflect.ConstraintViolationException; import java.util.Collection; import java.util.Collections; import org.netbeans.modules.javacore.JMManager; import org.openide.ErrorManager; /** * * @author mm109185 */ public abstract class UnresolvedClassClassImpl extends ClassProxyHandler implements UnresolvedClassClass { // [TODO] add support for refAllOfClass/Type private static final String MOFID_PREFIX = "unresolved:"; // NOI18N private static final InstanceMap allInstances = new InstanceMap(); /** Creates a new instance of PackageClassImpl */ public UnresolvedClassClassImpl(StorableClass s) { super(s); } public UnresolvedClass createUnresolvedClass(java.lang.String name, java.util.List annotations, int modifiers, java.lang.String javadocText, org.netbeans.jmi.javamodel.JavaDoc javadoc, java.util.List contents, org.netbeans.jmi.javamodel.MultipartId superClassName, java.util.List interfaceNames, java.util.List typeArguments) { throw new ConstraintViolationException(this, refMetaObject(), "Cannot create unresolved classes explicitly."); // NOI18N } public UnresolvedClass createUnresolvedClass() { throw new ConstraintViolationException(this, refMetaObject(), "Cannot create unresolved classes explicitly."); // NOI18N } public UnresolvedClass resolveUnresolved(String name) { if (name == null) { JMManager.getLog().notify(ErrorManager.INFORMATIONAL, new Exception("!! Trying to get unresolved class for name == null")); // NOI18N return null; } UnresolvedClassImpl result = (UnresolvedClassImpl) allInstances.get(name); if (result == null) { try { // [TODO] better unify immediate package and class proxy StorableBaseObject s = _getDelegate(); MOFID mofId = new MOFID(name.hashCode(), MOFID_PREFIX + name); DeferredObject o = new DeferredObject(mofId, s.getMdrStorage(), s.getImmediatePackageId(), s.getOutermostPackageId(), s.getMetaObject(), (StorableClass) s, null); result = (UnresolvedClassImpl) _getRepository().getHandler(o); result.name = name; allInstances.put(name, result); } catch (StorageException e) { throw new DebugException(); } } return result; } protected Collection _allOfClass(boolean recursive) { return Collections.unmodifiableCollection(allInstances.values()); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.