當前位置: 首頁>>代碼示例>>Java>>正文


Java Splitter類代碼示例

本文整理匯總了Java中com.google.common.base.Splitter的典型用法代碼示例。如果您正苦於以下問題:Java Splitter類的具體用法?Java Splitter怎麽用?Java Splitter使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Splitter類屬於com.google.common.base包,在下文中一共展示了Splitter類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: buildMongoClientFactoryBean

import com.google.common.base.Splitter; //導入依賴的package包/類
/**
 * 生成mongoClientFacotryBean
 *
 * @param mythMongoConfig 配置信息
 * @return bean
 */
private MongoClientFactoryBean buildMongoClientFactoryBean(MythMongoConfig mythMongoConfig) {
    MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean();
    MongoCredential credential = MongoCredential.createScramSha1Credential(mythMongoConfig.getMongoUserName(),
            mythMongoConfig.getMongoDbName(),
            mythMongoConfig.getMongoUserPwd().toCharArray());
    clientFactoryBean.setCredentials(new MongoCredential[]{
            credential
    });
    List<String> urls = Splitter.on(",").trimResults().splitToList(mythMongoConfig.getMongoDbUrl());

    final ServerAddress[] sds = urls.stream().map(url -> {
        List<String> adds = Splitter.on(":").trimResults().splitToList(url);
        InetSocketAddress address = new InetSocketAddress(adds.get(0), Integer.parseInt(adds.get(1)));
        return new ServerAddress(address);
    }).collect(Collectors.toList()).toArray(new ServerAddress[]{});

    clientFactoryBean.setReplicaSetSeeds(sds);
    return clientFactoryBean;
}
 
開發者ID:yu199195,項目名稱:myth,代碼行數:26,代碼來源:MongoCoordinatorRepository.java

示例2: getTopic

import com.google.common.base.Splitter; //導入依賴的package包/類
@Override
public String getTopic(String uuid)
{
	HierarchyTopic ht = null;
	boolean isDynamicTopic = false;
	for( String uuidValue : Splitter.on(',').omitEmptyStrings().split(uuid) )
	{
		final String[] uv = uuidValue.split(":", 2);
		ht = hierarchyService.getHierarchyTopicByUuid(uv[0]);
		if( uv.length > 1 )
		{
			isDynamicTopic = true;
		}
	}

	PropBagEx xml = new PropBagEx();
	buildXmlFromTopic(xml, ht, isDynamicTopic, uuid);
	return xml.getSubtree("topic").toString();
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:20,代碼來源:HierarchySoapService.java

示例3: unpackQueryString

import com.google.common.base.Splitter; //導入依賴的package包/類
/**
 * Unpack the querystring from the given url
 * Returns an empty map if there is no querystring
 *
 * @param url               The url to parse
 * @param isPureQueryString Supply true if the url is just the query string or false for complete urls
 * @return A Map containing the key-value pairs
 */
public static Map<String, String> unpackQueryString(String url, boolean isPureQueryString) {
  if (url != null) {
    String query = null;

    if (isPureQueryString) {
      query = url;
    } else {
      int qidIndex = url.indexOf(QUERY_IDENTIFIER);
      if (qidIndex > -1) {
        query = url.substring(qidIndex + 1);
      }
    }

    if (query != null) {
      return Splitter
          .on(QUERY_PAIR_SEPARATOR)
          .trimResults()
          .withKeyValueSeparator(QUERY_KEY_VALUE_SEPARATOR)
          .split(query);
    }
  }
  return new HashMap<>();
}
 
開發者ID:Juraji,項目名稱:Biliomi,代碼行數:32,代碼來源:Url.java

示例4: decode

import com.google.common.base.Splitter; //導入依賴的package包/類
@Nullable
public static GraphiteMetric decode(@Nullable final String metric) {
    if (metric == null || metric.isEmpty()) {
        return null;
    }

    final List<String> parts = Splitter.on(CharMatcher.BREAKING_WHITESPACE)
            .trimResults().omitEmptyStrings().splitToList(metric);
    if (parts.isEmpty() || parts.size() != 3) {
        return null;
    }

    final double value = Double.parseDouble(parts.get(1));
    final long timestamp = Long.parseUnsignedLong(parts.get(2));

    return new GraphiteMetric(parts.get(0), value, timestamp);
}
 
開發者ID:smoketurner,項目名稱:graphiak,代碼行數:18,代碼來源:GraphiteMetricDecoder.java

示例5: getPath

import com.google.common.base.Splitter; //導入依賴的package包/類
@Override
public String getPath(Charset charset) {
	StringBuilder path = new StringBuilder();
	boolean slash = false;

	for (String segment : getSegments()) {
		if (slash) {
			path.append('/');
		}
		if (segment.indexOf('/') != -1) {
			Url url = new Url(Splitter.on('/').splitToList(segment), Charsets.UTF_8);
			path.append(url.getPath());
		} else {
			path.append(UrlEncoder.PATH_INSTANCE.encode(segment, charset));
		}
		slash = true;
	}
	return path.toString();
}
 
開發者ID:jmfgdev,項目名稱:gitplex-mit,代碼行數:20,代碼來源:PathAwareUrl.java

示例6: handleRequest

import com.google.common.base.Splitter; //導入依賴的package包/類
public void handleRequest(LogRequest logRequest, LogParams logParams) {

        List<String> entries = Lists.newArrayList();
        entries.add(logRequest.uri);
        if (logRequest.clientApplication != null) {
            entries.add("Client: " + logRequest.clientApplication);
        }
        if (logRequest.user != null) {
            entries.add("User: " + logRequest.user);
        }
        if (logParams.logHeaders && logRequest.headers != null) {
            entries.add("Headers: " + getHeaders(logRequest.headers, logParams)
            );
        }
        if (logParams.logResponseEntity && ! Strings.isNullOrEmpty(logRequest.entity)) {
            List<String> lines = Splitter.on('\n').splitToList(logRequest.entity)
                    .stream()
                    .map(String::trim)
                    .collect(Collectors.toList());
            String compactedEntity = Joiner.on(' ').join(lines);
            entries.add("Entity: " + compactedEntity);
        }
        String logString = Joiner.on(", ").join(entries);
        LogUtil.doLog(logString, logParams.logLevel, log);
    }
 
開發者ID:code-obos,項目名稱:servicebuilder,代碼行數:26,代碼來源:ServerLogger.java

示例7: onLogin

import com.google.common.base.Splitter; //導入依賴的package包/類
@Override
public CompletableFuture<Long> onLogin(ChannelHandlerContext ctx, SocketASK ask) {
    // 整個消息就是 token
    ByteString tokenArg = ask.getBody().getArgs(0);
    if (tokenArg == null) {
        logger.info("Token arg must be input.");
        return null;
    }
    String token = tokenArg.toStringUtf8();
    if (Strings.isNullOrEmpty(token)) {
        logger.info("Token arg must be input.");
        return null;
    }
    return CompletableFuture.supplyAsync(() -> {
        String parseToken = new String(BaseEncoding.base64Url().decode(token));
        List<String> tokenChars = Splitter.on('|').splitToList(parseToken);

        Long userId = Long.valueOf(tokenArg.toStringUtf8());
        RoomGroup.getRoomManger().onOnline(ctx, userId);
        return userId;
    });
}
 
開發者ID:freedompy,項目名稱:commelina,代碼行數:23,代碼來源:NioSocketEventHandler.java

示例8: create

import com.google.common.base.Splitter; //導入依賴的package包/類
/**
 * 1.0.0 -> 1 00 00
 * 2.3.4 -> 2 03 04
 * 2.3.40 -> 2 03 40
 * 2.4.40 -> 2 04 40
 * 20.3.40 -> 20 03 40
 *
 * @param version
 * @return
 */
public static int create(String version) {
    List<String> items = Splitter.on('.').splitToList(version);
    if (items.size() > 3 || items.size() < 1) {
        throw new RuntimeException("僅支持99.99.99為最大版本號");
    }
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < items.size(); i++) {
        if (items.get(i).length() > 2) {
            throw new RuntimeException("僅支持99.99.99為最大版本號");
        }
        if (i > 0 && items.get(i).length() == 1) {
            buffer.append('0');
        }
        buffer.append(items.get(i));
    }
    return Integer.valueOf(buffer.toString());
}
 
開發者ID:freedompy,項目名稱:commelina,代碼行數:28,代碼來源:Version.java

示例9: handleBothToolsAttributePresent

import com.google.common.base.Splitter; //導入依賴的package包/類
/**
 * Handles tools: namespace attributes presence in both documents.
 * @param higherPriority the higherPriority attribute
 */
private void handleBothToolsAttributePresent(
        XmlAttribute higherPriority) {

    // do not merge tools:node attributes, the higher priority one wins.
    if (getName().getLocalName().equals(NodeOperationType.NODE_LOCAL_NAME)) {
        return;
    }

    // everything else should be merged, duplicates should be eliminated.
    Splitter splitter = Splitter.on(',');
    ImmutableSet.Builder<String> targetValues = ImmutableSet.builder();
    targetValues.addAll(splitter.split(higherPriority.getValue()));
    targetValues.addAll(splitter.split(getValue()));
    higherPriority.getXml().setValue(Joiner.on(',').join(targetValues.build()));
}
 
開發者ID:tranleduy2000,項目名稱:javaide,代碼行數:20,代碼來源:XmlAttribute.java

示例10: print

import com.google.common.base.Splitter; //導入依賴的package包/類
public static void print(Object toJson) {
    if (!ENABLED) return;

    synchronized (sGson) {
        String json = sGson.toJson(toJson);
        Iterable<String> lines = Splitter.on(CharMatcher.anyOf("\r\n")).omitEmptyStrings().split(json);

        int count = 0;
        Log.v(TAG, "┏");
        for (String line : lines) {
            Log.v(TAG, "┃   " + line);

            /**
             * delay the log output to avoid exceeding kernel log buffer size
             */
            if (count++ % 64 == 0) {
                try {
                    Thread.sleep(1);
                } catch (InterruptedException ignored) {
                }
            }
        }
        Log.v(TAG, "┗");
    }
}
 
開發者ID:killnono,項目名稱:Dalaran,代碼行數:26,代碼來源:LogUtils.java

示例11: deseralise

import com.google.common.base.Splitter; //導入依賴的package包/類
public void deseralise(String sceneData) {

	String[] data = sceneData.split(deliminator); //careful for regex

	SceneName = data[0];

	PosX =  Integer.parseInt(data[1]);
	PosY =  Integer.parseInt(data[2]);
	 NumOfTimesPlayerHasBeenHere = Integer.parseInt(data[3]);
	 currentBackground= data[4];
	 DynamicOverlayCSS= data[5];
	 StaticOverlayCSS = data[6];
	 hasNotBeenCurrentYet=Boolean.parseBoolean(data[7]);
	 
	 //add dependantSceneNames!
	 String sequence = data[8];
	 if (sequence!=null && !sequence.isEmpty()){
	 dependantSceneNames = Sets.newHashSet(Splitter.on(',').trimResults().split(sequence)); //convert coma seperated strings to a hashset. Thanks guava!
	 }
	 
}
 
開發者ID:ThomasWrobel,項目名稱:JAMCore,代碼行數:22,代碼來源:SceneStatus.java

示例12: read

import com.google.common.base.Splitter; //導入依賴的package包/類
public void read(String path, String prefix) {
  LogInfo.begin_track("Reading parameters from %s", path);
  try {
    BufferedReader in = IOUtils.openIn(path);
    String line;
    while ((line = in.readLine()) != null) {
      String[] pair = Lists.newArrayList(Splitter.on('\t').split(line)).toArray(new String[2]);
      weights.put(pair[0], Double.parseDouble(pair[1]));
      weights.put(prefix + pair[0], Double.parseDouble(pair[1]));
    }
    in.close();
  } catch (IOException e) {
    throw new RuntimeException(e);
  }
  LogInfo.logs("Read %s weights", weights.size());
  LogInfo.end_track();
}
 
開發者ID:cgraywang,項目名稱:TextHIN,代碼行數:18,代碼來源:Params.java

示例13: getGroupSearchFilter

import com.google.common.base.Splitter; //導入依賴的package包/類
public Filter getGroupSearchFilter(String query)
{
	SingleFilter groupClass = new SingleFilter(OBJECTCLASS, groupObject);
	groupClass.setLimit(config.getSearchLimit());

	query = checkQuery(query);
	if( isSearchAllQuery(query) )
	{
		return groupClass;
	}

	AndFilter and = new AndFilter(groupClass);
	for( String token : Splitter.onPattern("\\s").omitEmptyStrings().trimResults(CharMatcher.is('*')).split(query) )
	{
		token = (config.isWildcards() ? "*" : "") + token + '*';

		OrFilter or = new OrFilter();
		or.addFilter(new SingleFilter(groupNameField, token, false));
		or.addFilter(new SingleFilter(groupIdField, token, false));

		and.addFilter(or);
	}
	return and;
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:25,代碼來源:LDAP.java

示例14: process

import com.google.common.base.Splitter; //導入依賴的package包/類
private PropertyTree process(PropertyTree meta, SiteConfig siteConfig, ImmutableList<Category> categories) {
	Builder builder = FixedPropertyTree.builder()
			.copyOf(meta);

	for (PostProcessing.Category cat : categories) {
		Optional<Tree> tree = siteConfig.tree(cat.tree());
		tree.ifPresent(t -> {
			ImmutableList<String> sourceVal = meta.findList(String.class, Splitter.on(".").split(cat.source()));
			ImmutableSet<String> allParents = t.allParentsOf(sourceVal);
			ImmutableSet<String> allCategories = Sets.union(allParents, Sets.newHashSet(sourceVal)).immutableCopy();
			allCategories.forEach(c -> {
				builder.put(cat.name(), c);
			});
		});
	}

	return builder.build();
}
 
開發者ID:flapdoodle-oss,項目名稱:de.flapdoodle.solid,代碼行數:19,代碼來源:SiteConfigPostProcessor.java

示例15: parseEnchantments

import com.google.common.base.Splitter; //導入依賴的package包/類
public Map<Enchantment, Integer> parseEnchantments(Element el, String name) throws InvalidXMLException {
    Map<Enchantment, Integer> enchantments = Maps.newHashMap();

    Node attr = Node.fromAttr(el, name, StringUtils.pluralize(name));
    if(attr != null) {
        Iterable<String> enchantmentTexts = Splitter.on(";").split(attr.getValue());
        for(String enchantmentText : enchantmentTexts) {
            int level = 1;
            List<String> parts = Lists.newArrayList(Splitter.on(":").limit(2).split(enchantmentText));
            Enchantment enchant = XMLUtils.parseEnchantment(attr, parts.get(0));
            if(parts.size() > 1) {
                level = XMLUtils.parseNumber(attr, parts.get(1), Integer.class);
            }
            enchantments.put(enchant, level);
        }
    }

    for(Element elEnchantment : el.getChildren(name)) {
        Pair<Enchantment, Integer> entry = parseEnchantment(elEnchantment);
        enchantments.put(entry.first, entry.second);
    }

    return enchantments;
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:25,代碼來源:GlobalItemParser.java


注:本文中的com.google.common.base.Splitter類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。