本文整理汇总了Java中org.netbeans.modules.maven.api.archetype.ArchetypeProvider类的典型用法代码示例。如果您正苦于以下问题:Java ArchetypeProvider类的具体用法?Java ArchetypeProvider怎么用?Java ArchetypeProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ArchetypeProvider类属于org.netbeans.modules.maven.api.archetype包,在下文中一共展示了ArchetypeProvider类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addNotify
import org.netbeans.modules.maven.api.archetype.ArchetypeProvider; //导入依赖的package包/类
@Override
public void addNotify() {
super.addNotify();
if (archetypes.isEmpty()) {
listArtifact.setCursor(Utilities.createProgressCursor(listArtifact));
RP.post(new Runnable() {
@Override public void run() {
for (ArchetypeProvider provider : Lookup.getDefault().lookupAll(ArchetypeProvider.class)) {
final List<Archetype> added = provider.getArchetypes();
LOG.log(Level.FINE, "{0} -> {1}", new Object[] {provider, added});
Collections.sort(added, new Comparator<Archetype>() {
@Override
public int compare(Archetype o1, Archetype o2) {
int c = o1.getArtifactId().compareTo(o2.getArtifactId());
if(c != 0) {
return c;
}
String v1 = o1.getVersion();
String v2 = o2.getVersion();
if(v1 == null && v2 == null) {
return 0;
} else if(v1 == null) {
return 1;
} else if(v2 == null) {
return -1;
}
return new DefaultArtifactVersion(v1).compareTo(new DefaultArtifactVersion(v2)) * -1;
}
});
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
archetypes.addAll(added);
updateList();
}
});
}
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
listArtifact.setCursor(null);
if (listArtifact.getSelectedIndex() == -1 && listArtifact.getModel().getSize() > 0) {
listArtifact.setSelectedIndex(0);
}
}
});
}
});
}
}
示例2: getLatestArchetype
import org.netbeans.modules.maven.api.archetype.ArchetypeProvider; //导入依赖的package包/类
private static Archetype getLatestArchetype( String artifactId,
int minVersion, List<String> versions )
{
Archetype result = null;
for (ArchetypeProvider provider : Lookup.getDefault().lookupAll(
ArchetypeProvider.class))
{
final List<Archetype> archetypes = provider.getArchetypes();
for (Archetype archetype : archetypes) {
if (GROUP_ID.equals(archetype.getGroupId())
&& artifactId.equals(archetype.getArtifactId()))
{
String archVersion = archetype.getVersion();
String version = archVersion;
LOG.log(Level.FINE,
"Found archetype with appropriate group id "
+ "and artifactId: {0}. It''s version : {1}",
new Object[] { artifactId, archVersion });
int index = archVersion.indexOf('.');
int majorVersion = 0;
try {
if (index > -1) {
version = archVersion.substring(0, index);
}
majorVersion = Integer.parseInt(version);
}
catch (NumberFormatException ignore) {
LOG.log(Level.WARNING, "Unable to parse version :{0}",
version);
}
if (majorVersion >= minVersion) {
if (versions != null) {
versions.add(archVersion);
}
if (result == null) {
result = archetype;
}
else if (version.compareTo(result.getVersion()) > 0) {
result = archetype;
}
}
else {
LOG.log(Level.FINE,
"Found archetype version {0} is skipped. "
+ "It''s less than default version {1}",
new Object[] { version, minVersion });
}
}
}
}
return result;
}