/** * INTERNAL: * Allow the descriptor to initialize any dependencies on this session. */ public void preInterfaceInitialization(AbstractSession session) throws DescriptorException { if (isInterfaceInitialized(PREINITIALIZED)) { return; } setInterfaceInitializationStage(PREINITIALIZED); assignDefaultValues(session); if (isInterfaceChildDescriptor()) { for (Iterator<Class> interfaces = getInterfacePolicy().getParentInterfaces().iterator(); interfaces.hasNext();) { Class parentInterface = interfaces.next(); ClassDescriptor parentDescriptor = session.getDescriptor(parentInterface); if ((parentDescriptor == null) || (parentDescriptor.getJavaClass() == getJavaClass()) || parentDescriptor.getInterfacePolicy().usesImplementorDescriptor()) { session.getProject().getDescriptors().put(parentInterface, this); session.clearLastDescriptorAccessed(); } else if (!parentDescriptor.isDescriptorForInterface()) { throw DescriptorException.descriptorForInterfaceIsMissing(parentInterface.getName()); } else { parentDescriptor.preInterfaceInitialization(session); parentDescriptor.getInterfacePolicy().addChildDescriptor(this); getInterfacePolicy().addParentDescriptor(parentDescriptor); } } } }
/** * INTERNAL: * Allow the descriptor to initialize any dependencies on this session. */ public void preInterfaceInitialization(AbstractSession session) throws DescriptorException { if (isInterfaceInitialized(PREINITIALIZED)) { return; } setInterfaceInitializationStage(PREINITIALIZED); assignDefaultValues(session); if (isInterfaceChildDescriptor()) { for (Enumeration interfaces = getInterfacePolicy().getParentInterfaces().elements(); interfaces.hasMoreElements();) { Class parentInterface = (Class)interfaces.nextElement(); ClassDescriptor parentDescriptor = session.getDescriptor(parentInterface); if ((parentDescriptor == null) || (parentDescriptor.getJavaClass() == getJavaClass()) || parentDescriptor.getInterfacePolicy().usesImplementorDescriptor()) { session.getProject().getDescriptors().put(parentInterface, this); session.clearLastDescriptorAccessed(); } else if (!parentDescriptor.isDescriptorForInterface()) { throw DescriptorException.descriptorForInterfaceIsMissing(parentInterface.getName()); } else { parentDescriptor.preInterfaceInitialization(session); parentDescriptor.getInterfacePolicy().addChildDescriptor(this); getInterfacePolicy().addParentDescriptor(parentDescriptor); } } } }
/** * INTERNAL: * Allow the descriptor to initialize any dependencies on this session. */ public void preInterfaceInitialization(AbstractSession session) throws DescriptorException { if (isInterfaceInitialized(PREINITIALIZED)) { return; } setInterfaceInitializationStage(PREINITIALIZED); assignDefaultValues(session); if (isInterfaceChildDescriptor()) { for (Iterator<Class> interfaces = getInterfacePolicy().getParentInterfaces().iterator(); interfaces.hasNext();) { Class parentInterface = interfaces.next(); ClassDescriptor parentDescriptor = session.getDescriptor(parentInterface); if ((parentDescriptor == null) || (parentDescriptor.getJavaClass() == getJavaClass()) || parentDescriptor.getInterfacePolicy().usesImplementorDescriptor()) { session.getProject().getDescriptors().put(parentInterface, this); session.clearLastDescriptorAccessed(); } else if (!parentDescriptor.isDescriptorForInterface()) { throw DescriptorException.descriptorForInterfaceIsMissing(parentInterface.getName()); } else { parentDescriptor.preInterfaceInitialization(session); parentDescriptor.getInterfacePolicy().addChildDescriptor(this); getInterfacePolicy().addParentDescriptor(parentDescriptor); } } } }