Example usage for org.eclipse.jdt.core ClasspathContainerInitializer getAttributeStatus

List of usage examples for org.eclipse.jdt.core ClasspathContainerInitializer getAttributeStatus

Introduction

In this page you can find the example usage for org.eclipse.jdt.core ClasspathContainerInitializer getAttributeStatus.

Prototype

public IStatus getAttributeStatus(IPath containerPath, IJavaProject project, String attributeKey) 

Source Link

Document

Returns the extra attribute status according to this initializer.

Usage

From source file:at.bestsolution.javafx.ide.jdt.internal.jdt.CPListElement.java

License:Open Source License

private IStatus evaluateContainerChildStatus(CPListElementAttribute attrib) {
    if (fProject != null) {
        ClasspathContainerInitializer initializer = JavaCore.getClasspathContainerInitializer(fPath.segment(0));
        if (initializer != null && initializer.canUpdateClasspathContainer(fPath, fProject)) {
            if (attrib.isBuiltIn()) {
                if (CPListElement.SOURCEATTACHMENT.equals(attrib.getKey())) {
                    return initializer.getSourceAttachmentStatus(fPath, fProject);
                } else if (CPListElement.ACCESSRULES.equals(attrib.getKey())) {
                    return initializer.getAccessRulesStatus(fPath, fProject);
                }//from  w ww  .  j a  v a2 s  . c o  m
            } else {
                return initializer.getAttributeStatus(fPath, fProject, attrib.getKey());
            }
        }
        return new Status(IStatus.ERROR, "at.bestsolution.javafx.ide.jdt", //$NON-NLS-1$
                ClasspathContainerInitializer.ATTRIBUTE_READ_ONLY, "", null);
    }
    return null;
}

From source file:org.org.eclipse.dws.core.internal.jobs.UpdateJavadocAndSourcesJob.java

License:Open Source License

/**
 * Handle container entry.//w  ww  .j  a va  2s  .  c o  m
 * 
 * @param containerPath
 *            the container path
 * @param jproject
 *            the jproject
 * @param jarPath
 *            the jar path
 * 
 * @return the i classpath entry
 * 
 * @throws JavaModelException
 *             the java model exception
 */
@SuppressWarnings("restriction")
private IClasspathEntry handleContainerEntry(IPath containerPath, IJavaProject jproject, IPath jarPath)
        throws JavaModelException {
    ClasspathContainerInitializer initializer = JavaCore
            .getClasspathContainerInitializer(containerPath.segment(0));
    IClasspathContainer container = JavaCore.getClasspathContainer(containerPath, jproject);
    if (initializer == null || container == null) {
        logger.error("Container is not valid:" + containerPath);
        return null;
    }
    IStatus status = initializer.getAttributeStatus(containerPath, jproject,
            IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME);
    if (status.getCode() == ClasspathContainerInitializer.ATTRIBUTE_NOT_SUPPORTED) {
        logger.error("Container does not support javadoc location attribute.");
        return null;
    }
    if (status.getCode() == ClasspathContainerInitializer.ATTRIBUTE_READ_ONLY) {
        logger.error("Container's javadoc location attribute is read only.");
        return null;
    }
    IClasspathEntry entry = JavaModelUtil.findEntryInContainer(container, jarPath);
    Assert.isNotNull(entry);
    return entry;
}