本文整理汇总了Java中org.netbeans.api.editor.mimelookup.MimePath.size方法的典型用法代码示例。如果您正苦于以下问题:Java MimePath.size方法的具体用法?Java MimePath.size怎么用?Java MimePath.size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.netbeans.api.editor.mimelookup.MimePath
的用法示例。
在下文中一共展示了MimePath.size方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFormatter
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
private synchronized Formatter getFormatter() {
if (formatter == null) {
// XXX: Carefull here, generally context.mimePath() != mimeType. This
// task's factory was created for a top level language (mimeType), but the task
// itself can be used for an embedded language.
// If the task is used for the document itself (not an embedded
// section) Context.mimePath() == mimeType.
// However, if it is used for an embedded section the Context.mimePath() gives
// the mime path (languege path) of that section. Which is generally
// something like 'application/x-httpd-eruby/text/x-ruby'. While the
// task was registered for 'text/x-ruby'.
// Therefore with the __current__ implementation of MimeLookupInitializerImpl
// we can simply take the last component of Context.mimePath().
MimePath mimePath = MimePath.parse(context.mimePath());
mimeType = mimePath.size() > 1 ? mimePath.getMimeType(mimePath.size() - 1) : mimePath.getPath();
Language language = LanguageRegistry.getInstance().getLanguageByMimeType(mimeType);
formatter = language.getFormatter();
}
return formatter;
}
示例2: afterLoad
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
@Override
public void afterLoad(Map<String, TypedValue> map, MimePath mimePath, String profile, boolean defaults) {
if (mimePath.size() == 1) {
if (null != LanguageRegistry.getInstance().getLanguageByMimeType(mimePath.getPath())) {
// this is a GSF language
if (!map.containsKey("word-match-match-case")) { //NOI18N
map.put("word-match-match-case", new TypedValue("true", Boolean.class.getName())); //NOI18N
}
if (!map.containsKey("reindent-with-text-before")) { //NOI18N
map.put("reindent-with-text-before", new TypedValue("false", Boolean.class.getName())); //NOI18N
}
if (!map.containsKey("abbrev-reset-acceptor")) { //NOI18N
map.put("abbrev-reset-acceptor", new TypedValue(getClass().getName() + ".getAbbrevResetAcceptor", "methodvalue")); //NOI18N
}
}
}
}
示例3: getFormatter
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
private synchronized Formatter getFormatter() {
if(formatter == null) {
// XXX: Carefull here, generally context.mimePath() != mimeType. This
// task's factory was created for a top level language (mimeType), but the task
// itself can be used for an embedded language.
// If the task is used for the document itself (not an embedded
// section) Context.mimePath() == mimeType.
// However, if it is used for an embedded section the Context.mimePath() gives
// the mime path (languege path) of that section. Which is generally
// something like 'application/x-httpd-eruby/text/x-ruby'. While the
// task was registered for 'text/x-ruby'.
// Therefore with the __current__ implementation of MimeLookupInitializerImpl
// we can simply take the last component of Context.mimePath().
MimePath mimePath = MimePath.parse(context.mimePath());
String mimeType = mimePath.size() > 1 ? mimePath.getMimeType(mimePath.size() - 1) : mimePath.getPath();
Language language = LanguageRegistry.getInstance().getLanguageByMimeType(mimeType);
formatter = language.getFormatter();
}
return formatter;
}
示例4: reindent
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
public void reindent() throws BadLocationException {
if(context == null)
return;
MimePath mimePath = MimePath.parse (context.mimePath ());
if(mimePath == null)
return;
Language language = Language.find (mimePath.getMimeType (0));
if(language == null)
return;
LanguagePath languagePath = LanguagePath.get (language);
if(languagePath == null)
return;
for (int i = 1; i < mimePath.size(); i++) {
languagePath = languagePath.embedded(Language.find(mimePath.getMimeType(i)));
}
XMLLexerFormatter formatter = new XMLLexerFormatter(languagePath);
formatter.reformat(context);
}
示例5: KeyBindingSettingsImpl
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
/**
* Construction prohibited for API clients.
*/
private KeyBindingSettingsImpl (MimePath mimePath) {
this.mimePath = mimePath;
pcs = new PropertyChangeSupport (this);
// init logging
String myClassName = KeyBindingSettingsImpl.class.getName ();
String value = System.getProperty(myClassName);
if (value != null) {
if (!value.equals("true")) {
logActionName = System.getProperty(myClassName);
}
} else if (mimePath.size() == 1) {
logActionName = System.getProperty(myClassName + '.' + mimePath.getMimeType(0));
}
}
示例6: beforeSave
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
@Override
public void beforeSave(Map<String, TypedValue> map, MimePath mimePath, String profile, boolean defaults) throws IOException {
if (defaults || mimePath.size() != 1 || !affectedMimeTypes.containsKey(mimePath.getPath())) {
return;
}
try {
Preferences nbprefs = getNbPreferences(mimePath.getPath());
if (nbprefs != null && nbprefs.nodeExists("CodeStyle/default")) { //NOI18N
// We loaded the settings from NbPreferences in beforeLoad,
// they are in the map (maybe modified somehow) and they are
// going to be saved to MimeLookup. So we can safely clean them up from NbPreferences.
nbprefs.node("CodeStyle").removeNode(); //NOI18N
nbprefs.flush();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Cleaning up NbPreferences/CodeStyle node for '" + mimePath.getPath() + "'"); //NOI18N
}
}
} catch (BackingStoreException bse) {
// ignore
LOG.log(Level.FINE, null, bse);
}
}
示例7: MimePathLookup
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
/** Creates a new instance of MimePathLookup */
public MimePathLookup(MimePath mimePath) {
super();
if (mimePath == null) {
throw new NullPointerException("Mime path can't be null."); //NOI18N
}
this.mimePath = mimePath;
this.mimePathBanned = mimePath.size() > 0 && mimePath.getMimeType(0).contains("text/base"); //NOI18N
class R implements Runnable {
Lookup.Result<MimeDataProvider> dataProviders;
Lookup.Result<MimeLookupInitializer> mimeInitializers;
public void run() {
dataProviders = Lookup.getDefault().lookup(new Lookup.Template<MimeDataProvider>(MimeDataProvider.class));
dataProviders.addLookupListener(WeakListeners.create(LookupListener.class, MimePathLookup.this, dataProviders));
mimeInitializers = Lookup.getDefault().lookup(new Lookup.Template<MimeLookupInitializer>(MimeLookupInitializer.class));
mimeInitializers.addLookupListener(WeakListeners.create(LookupListener.class, MimePathLookup.this, mimeInitializers));
}
}
R r = new R();
Lookups.executeWith(null, r);
this.dataProviders = r.dataProviders;
this.mimeInitializers = r.mimeInitializers;
}
示例8: afterLoad
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
@Override
public void afterLoad(Map<String, TypedValue> map, MimePath mimePath, String profile, boolean defaults) {
if (mimePath.size() == 1) {
if (LanguagesManager.getDefault().isSupported(mimePath.getPath())) {
// this is a Schliemann language
if (!map.containsKey(SimpleValueNames.CODE_FOLDING_ENABLE)) {
map.put(SimpleValueNames.CODE_FOLDING_ENABLE, new TypedValue("true", Boolean.class.getName())); //NOI18N
}
}
}
}
示例9: computePaths
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
private static List<String> computePaths(MimePath mimePath, String prefixPath, String suffixPath) {
try {
Method m = MimePath.class.getDeclaredMethod("getInheritedPaths", String.class, String.class); //NOI18N
m.setAccessible(true);
@SuppressWarnings("unchecked")
List<String> paths = (List<String>) m.invoke(mimePath, prefixPath, suffixPath);
return paths;
} catch (Exception e) {
LOG.log(Level.WARNING, "Can't call org.netbeans.api.editor.mimelookup.MimePath.getInheritedPaths method.", e); //NOI18N
}
// No inherited mimepaths, provide at least something
StringBuilder sb = new StringBuilder();
if (prefixPath != null && prefixPath.length() > 0) {
sb.append(prefixPath);
}
if (mimePath.size() > 0) {
if (sb.length() > 0) {
sb.append('/'); //NOI18N
}
sb.append(mimePath.getPath());
}
if (suffixPath != null && suffixPath.length() > 0) {
if (sb.length() > 0) {
sb.append('/'); //NOI18N
}
sb.append(suffixPath);
}
return Collections.singletonList(sb.toString());
}
示例10: getLookup
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
@Override
public Lookup getLookup(final MimePath mimePath) {
if (mimePath.size() == 1) {
return new ProxyLookup() {
private final AtomicBoolean initialized = new AtomicBoolean();
@Override
protected void beforeLookup(Template<?> template) {
super.beforeLookup(template);
final Class<?> clz = template.getType();
if (IndentTask.Factory.class.isAssignableFrom(clz) ||
ReformatTask.Factory.class.isAssignableFrom(clz) ||
TypedTextInterceptor.Factory.class.isAssignableFrom(clz)) {
if (!initialized.getAndSet(true)) {
final IndentReformatTaskFactoriesProvider provider = IndentReformatTaskFactoriesProvider.get(mimePath);
if (provider != null) {
final IndentTask.Factory legacyIndenter = provider.getIndentTaskFactory();
final ReformatTask.Factory legacyFormatter = provider.getReformatTaskFactory();
final TypedTextInterceptor.Factory legacyAutoIndenter = provider.getTypedTextInterceptorFactory();
if (LOG.isLoggable(Level.FINE)) {
LOG.log(
Level.FINE,
"''{0}'' uses legacyIndenter={1}, legacyFormatter={2}, legacyAutoIndenter={3}", //NOI18N
new Object[]{
mimePath.getPath(),
legacyIndenter,
legacyFormatter,
legacyAutoIndenter});
}
setLookups(Lookups.fixed(legacyIndenter, legacyFormatter, legacyAutoIndenter));
}
}
}
}
};
}
return null;
}
示例11: afterLoad
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
@Override
public void afterLoad(Map<String, TypedValue> map, MimePath mimePath, String profile, boolean defaults) throws IOException {
if (defaults || mimePath.size() != 1 || !affectedMimeTypes.containsKey(mimePath.getPath())) {
return;
}
try {
Preferences nbprefs = getNbPreferences(mimePath.getPath());
if (nbprefs != null && nbprefs.nodeExists("CodeStyle/default")) { //NOI18N
Preferences codestyle = nbprefs.node("CodeStyle/default"); //NOI18N
for(String key : codestyle.keys()) {
if (!map.containsKey(key)) {
TypedValue typedValue = guessTypedValue(codestyle.get(key, null));
if (typedValue != null) {
map.put(key, typedValue);
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Injecting '" + key + "' = '" + typedValue.getValue() //NOI18N
+ "' (" + typedValue.getJavaType() + ") for '" + mimePath.getPath() + "'"); //NOI18N
}
}
}
}
}
} catch (BackingStoreException bse) {
// ignore
LOG.log(Level.FINE, null, bse);
}
}
示例12: reindent
import org.netbeans.api.editor.mimelookup.MimePath; //导入方法依赖的package包/类
public void reindent () throws BadLocationException {
//S ystem.out.println("SCHLIEMAN reformat !\n " + context.document() + "\n " + context.isIndent() + "\n " + context.startOffset () + "\n " + context.endOffset());
StyledDocument document = (StyledDocument) context.document ();
try {
MimePath mimePath = MimePath.parse (context.mimePath ());
String mimeType = mimePath.getMimeType (mimePath.size () - 1);
Language l = LanguagesManager.getDefault ().getLanguage (mimeType);
Object indentValue = getIndentProperties (l);
if (indentValue == null) return;
if (indentValue instanceof Feature) {
Feature m = (Feature) indentValue;
m.getValue (Context.create (document, context.startOffset ()));
return;
}
Object[] params = (Object[]) indentValue;
TokenHierarchy tokenHierarchy = TokenHierarchy.get (document);
LanguagePath languagePath = LanguagePath.get (org.netbeans.api.lexer.Language.find (mimePath.getMimeType (0)));
for (int i = 1; i < mimePath.size(); i++)
languagePath = languagePath.embedded (org.netbeans.api.lexer.Language.find (mimePath.getMimeType (i)));
List<TokenSequence> tokenSequences = tokenHierarchy.tokenSequenceList (languagePath, context.startOffset (), context.endOffset ());
Set<Integer> whitespaces = l.getAnalyser().getSkipTokenTypes ();
Iterator<Region> it = context.indentRegions ().iterator ();
while (it.hasNext ()) {
Region region = it.next ();
Map<Position,Integer> indentMap = new HashMap<Position,Integer> ();
int ln = NbDocument.findLineNumber (document, region.getStartOffset ());
int endLineNumber = NbDocument.findLineNumber (document, region.getEndOffset ());
if (!Utils.getTokenSequence (document, context.lineStartOffset (region.getStartOffset ())).language ().mimeType ().equals (mimeType))
ln++;
int indent = 0;
if (ln > 0) {
int offset = NbDocument.findLineOffset (document, ln - 1);
indent = context.lineIndent (offset);
if (!Utils.getTokenSequence (document, offset).language ().mimeType ().equals (mimeType))
indent += IndentUtils.indentLevelSize (document);
}
while (ln <= endLineNumber) {
if (ln == endLineNumber &&
isEmpty (ln, document, whitespaces) &&
!Utils.getTokenSequence (document, region.getEndOffset ()).language ().mimeType ().equals (mimeType)
) break;
indent = indent (context, document, params, ln++, indent, indentMap, whitespaces);
}
Iterator<Position> it2 = indentMap.keySet ().iterator ();
while (it2.hasNext ()) {
Position position = it2.next ();
context.modifyIndent (position.getOffset (), indentMap.get (position));
}
}
} catch (LanguageDefinitionNotFoundException ldnfe) {
//no language found - this might happen when some of the embedded languages are not schliemann based,
//so just ignore and do nothing - no indent
} catch (Exception ex) {
ErrorManager.getDefault ().notify (ex);
}
}