当前位置: 首页>>代码示例>>Java>>正文


Java MimePath.size方法代码示例

本文整理汇总了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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:GsfReformatTask.java

示例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
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:GsfEditorSettings.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:GsfIndentTask.java

示例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);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:XMLIndentTask.java

示例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));
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:KeyBindingSettingsImpl.java

示例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);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:FormattingSettingsFromNbPreferences.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:29,代码来源:MimePathLookup.java

示例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
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:13,代码来源:LanguagesEditorKit.java

示例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());
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:31,代码来源:SwitchLookup.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:39,代码来源:LegacyFormattersProvider.java

示例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);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:29,代码来源:FormattingSettingsFromNbPreferences.java

示例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);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:62,代码来源:IndentFactory.java


注:本文中的org.netbeans.api.editor.mimelookup.MimePath.size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。