Copyright (c) 2007, 2012 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2007, 2012 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.osgi.service.resolver; import org.osgi.framework.Filter;
This class represents a native code description.

This interface is not intended to be implemented by clients. The StateObjectFactory should be used to construct instances.

Since:3.4
@noimplementThis interface is not intended to be implemented by clients.
/** * This class represents a native code description. * <p> * This interface is not intended to be implemented by clients. The * {@link StateObjectFactory} should be used to construct instances. * </p> * @since 3.4 * @noimplement This interface is not intended to be implemented by clients. */
public interface NativeCodeDescription extends BaseDescription, Comparable<NativeCodeDescription> {
Returns the paths to the native code libraries.
Returns:the paths to the native code libraries.
/** * Returns the paths to the native code libraries. * @return the paths to the native code libraries. */
public String[] getNativePaths();
Returns the processors supported by the native code.
Returns:the processors supported by the native code. An empty array is returned if no processors are supported.
/** * Returns the processors supported by the native code. * @return the processors supported by the native code. An * empty array is returned if no processors are supported. */
public String[] getProcessors();
Returns the operating system names supported by the native code.
Returns:the operating system names supported by the native code. An empty array is returned if no operating systems are supported.
/** * Returns the operating system names supported by the native code. * @return the operating system names supported by the native code. * An empty array is returned if no operating systems are supported. */
public String[] getOSNames();
Returns the operating system version ranges supported by the native code.
Returns:the operating system version ranges supported by the native code. An empty array is returned if all versions are supported.
/** * Returns the operating system version ranges supported by the native code. * @return the operating system version ranges supported by the native code. * An empty array is returned if all versions are supported. */
public VersionRange[] getOSVersions();
Returns the languages supported by the native code.
Returns:the languages supported by the native code. An empty array is returned if all languages are supported.
/** * Returns the languages supported by the native code. * @return the languages supported by the native code. An empty array is * returned if all languages are supported. */
public String[] getLanguages();
Returns the selection filter used to select the native code.
Returns:the selection filter used to select the native code.
/** * Returns the selection filter used to select the native code. * @return the selection filter used to select the native code. */
public Filter getFilter();
Native code descriptions are sorted with the following preferences:
  • The minimum version of the os version ranges
  • The language
Params:
  • other – the native code description to be compared
Returns:a negative integer, zero, or a positive integer as this natve code description is less than, equal to, or greater than the specified object.
Since:3.7
/** * Native code descriptions are sorted with the following preferences: * <ul> * <li>The minimum version of the os version ranges</li> * <li>The language<li> * </ul> * @param other the native code description to be compared * @return a negative integer, zero, or a positive integer as this natve * code description is less than, equal to, or greater than the specified object. * @since 3.7 */
@Override public int compareTo(NativeCodeDescription other);
Indicates if this native code description has invalid native code paths. Native code paths are invalid if they can not be found in the bundle content.
Returns:true if the native code paths are invalid; otherwise false is returned.
/** * Indicates if this native code description has invalid native code paths. Native * code paths are invalid if they can not be found in the bundle content. * @return true if the native code paths are invalid; otherwise false is returned. */
public boolean hasInvalidNativePaths(); }