package org.eclipse.buckminster.core.query;
import java.net.URL;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import org.eclipse.buckminster.core.common.model.Documentation;
import org.eclipse.buckminster.core.query.model.MutableLevel;
import org.eclipse.buckminster.core.query.model.SourceLevel;
import org.eclipse.buckminster.core.version.VersionSelector;
import org.eclipse.buckminster.osgi.filter.Filter;
import org.eclipse.equinox.p2.metadata.VersionRange;
public interface IAdvisorNode {
public static final int PRIO_VERSION_DESIGNATOR = 1;
public static final int PRIO_BRANCHTAG_PATH_INDEX = 2;
public static final int[] DEFAULT_RESOLUTION_PRIO = { PRIO_BRANCHTAG_PATH_INDEX, PRIO_VERSION_DESIGNATOR };
boolean allowCircularDependency();
List<String> getAttributes();
VersionSelector[] getBranchTagPath();
String getComponentTypeID();
Documentation getDocumentation();
Filter getFilter();
MutableLevel getMutableLevel();
Pattern getNamePattern();
URL getOverlayFolder();
Map<String, String> getProperties();
int[] getResolutionPrio();
String getRevision();
SourceLevel getSourceLevel();
Date getTimestamp();
VersionRange getVersionOverride();
boolean isPrune();
boolean isSystemDiscovery();
boolean isUseMaterialization();
boolean isUseRemoteResolution();
boolean isUseTargetPlatform();
boolean isUseWorkspace();
boolean skipComponent();
}