• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java UserModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.gitblit.models.UserModel的典型用法代码示例。如果您正苦于以下问题:Java UserModel类的具体用法?Java UserModel怎么用?Java UserModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UserModel类属于com.gitblit.models包,在下文中一共展示了UserModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: attribute

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Optionally stamp the payload with an emoji, icon url, or user attributions.
 *
 * @param payload
 * @param user
 */
protected void attribute(Payload payload, UserModel user) {
	IRuntimeManager runtimeManager = GitblitContext.getManager(IRuntimeManager.class);
   	String icon = runtimeManager.getSettings().getString(Plugin.SETTING_TICKET_EMOJI, null);
   	String defaultIcon = runtimeManager.getSettings().getString(Plugin.SETTING_DEFAULT_EMOJI, null);
   	if (StringUtils.isEmpty(icon)) {
   		icon = defaultIcon;
   	}

   	// set the username and gravatar
   	boolean postAsUser = runtimeManager.getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);
   	if (postAsUser) {
   		payload.username(user.getDisplayName());
   		if (!StringUtils.isEmpty(user.emailAddress)) {
   			icon = ActivityUtils.getGravatarThumbnailUrl(user.emailAddress, 36);
   		}
	}

	payload.icon(icon);
}
 
开发者ID:gitblit,项目名称:gitblit-slack-plugin,代码行数:26,代码来源:SlackTicketHook.java


示例2: sendDelete

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Sends a Slack message when a branch or a tag is deleted.
 *
 * @param receivePack
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException {
	UserModel user = receivePack.getUserModel();
	RepositoryModel repo = receivePack.getRepositoryModel();
	String shortRef = Repository.shortenRefName(cmd.getRefName());
	String repoUrl = getUrl(repo.name, null, null);
	boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);

	String author;
   	if (postAsUser) {
   		// posting as user, do not BOLD username
   		author = user.getDisplayName();
   	} else {
   		// posting as Gitblit, BOLD username to draw attention
   		author = "*" + user.getDisplayName() + "*";
   	}

	String msg = String.format("%s has deleted %s *%s* from <%s|%s>", author,
   			rType.name().toLowerCase(), shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

   	Payload payload = Payload.instance(msg);
   	attribute(payload, user);

   	slacker.setChannel(repo, payload);
   	slacker.sendAsync(payload);
}
 
开发者ID:gitblit,项目名称:gitblit-slack-plugin,代码行数:33,代码来源:SlackReceiveHook.java


示例3: attribute

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Optionally stamp the payload with an emoji, icon url, or user attributions.
 *
 * @param payload
 * @param user
 */
protected void attribute(Payload payload, UserModel user) {
	IRuntimeManager runtimeManager = GitblitContext.getManager(IRuntimeManager.class);
   	String icon = runtimeManager.getSettings().getString(Plugin.SETTING_GIT_EMOJI, null);
   	String defaultIcon = runtimeManager.getSettings().getString(Plugin.SETTING_DEFAULT_EMOJI, null);
   	if (StringUtils.isEmpty(icon)) {
   		icon = defaultIcon;
   	}

   	// set the username and gravatar
   	boolean postAsUser = runtimeManager.getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);
   	if (postAsUser) {
   		payload.username(user.getDisplayName());
   		if (!StringUtils.isEmpty(user.emailAddress)) {
   			icon = ActivityUtils.getGravatarThumbnailUrl(user.emailAddress, 36);
   		}
	}

	payload.icon(icon);
}
 
开发者ID:gitblit,项目名称:gitblit-slack-plugin,代码行数:26,代码来源:SlackReceiveHook.java


示例4: sendCreate

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Sends a HipChat message when a branch or a tag is created.
 *
 * @param receivePack
 * @param cmd
 * @param rType
 */
protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException {
	UserModel user = receivePack.getUserModel();
	RepositoryModel repo = receivePack.getRepositoryModel();
	String shortRef = Repository.shortenRefName(cmd.getRefName());
	String repoUrl = getUrl(repo.name, null, null);
	String logUrl = getUrl(repo.name, shortRef, null);

	String msg = String.format("<b>%s</b> has created %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>",
			user.getDisplayName(), rType.name().toLowerCase(), logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

   	Payload payload = Payload.html(msg);
   	payload.setColor(Color.gray);
   	hipChatter.setRoom(repo, payload);
   	hipChatter.sendAsync(payload);
   }
 
开发者ID:gitblit,项目名称:gitblit-hipchat-plugin,代码行数:23,代码来源:HipChatReceiveHook.java


示例5: onNewTicket

import com.gitblit.models.UserModel; //导入依赖的package包/类
@Override
  public void onNewTicket(TicketModel ticket) {
  	if (!shallPost(ticket)) {
	return;
}

Set<TicketModel.Field> fieldExclusions = new HashSet<TicketModel.Field>();
fieldExclusions.addAll(Arrays.asList(TicketModel.Field.watchers, TicketModel.Field.voters,
		TicketModel.Field.status, TicketModel.Field.mentions));

  	Change change = ticket.changes.get(0);
  	IUserManager userManager = GitblitContext.getManager(IUserManager.class);

  	UserModel reporter = userManager.getUserModel(change.author);
  	StringBuilder sb = new StringBuilder();
  	sb.append(String.format("<b>%s</b> has created <b>%s</b> <a href=\"%s\">ticket-%s</a>", reporter.getDisplayName(),
  			StringUtils.stripDotGit(ticket.repository), getUrl(ticket), ticket.number));

  	fields(sb, ticket, ticket.changes.get(0), fieldExclusions);

  	Payload payload = Payload.html(sb.toString());
  	payload.color(Color.purple);

 		hipChatter.sendAsync(payload);
  }
 
开发者ID:gitblit,项目名称:gitblit-hipchat-plugin,代码行数:26,代码来源:HipChatTicketHook.java


示例6: run

import com.gitblit.models.UserModel; //导入依赖的package包/类
@Override
public void run() throws UnloggedFailure {
	UserModel user = getUser(true);
	IGitblit gitblit = getContext().getGitblit();
	if (null != gitblit.getTeamModel(newUserName)) {
		throw new UnloggedFailure(1, String.format("Team %s already exists!", newUserName));
	}

	// set the new name
	user.username = newUserName;

	try {
		gitblit.reviseUser(username, user);
		stdout.println(String.format("Renamed user %s to %s.", username, newUserName));
	} catch (GitBlitException e) {
		String msg = String.format("Failed to rename user from %s to %s", username, newUserName);
		log.error(msg, e);
		throw new UnloggedFailure(1, msg);
	}
}
 
开发者ID:gitblit,项目名称:gitblit-powertools-plugin,代码行数:21,代码来源:UsersDispatcher.java


示例7: run

import com.gitblit.models.UserModel; //导入依赖的package包/类
@Override
public void run() throws UnloggedFailure {

	RepositoryModel repo = getRepository(true);
	UserModel user = getContext().getClient().getUser();

	if (!user.canFork(repo)) {
		throw new UnloggedFailure(1,  String.format("Sorry, you do not have permission to fork %s", repository));
	}

	IGitblit gitblit = getContext().getGitblit();
	try {
		RepositoryModel fork = gitblit.fork(repo, user);
		if (fork != null) {
			stdout.println(String.format("%s has been forked.", repository));
			stdout.println();
			stdout.println(String.format("   git clone %s", getRepositoryUrl(fork.name)));
			stdout.println();
		} else {
			throw new UnloggedFailure(1, String.format("Failed to fork %s!", repository));
		}
	} catch (GitBlitException e) {
		throw new UnloggedFailure(1, String.format("Failed to fork %s!", repository), e);
	}
}
 
开发者ID:gitblit,项目名称:gitblit-powertools-plugin,代码行数:26,代码来源:RepositoriesDispatcher.java


示例8: createUserModel

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Creates a user model for a git repository on the GitBlit server
 *
 * @param tenantId tenant Id
 * @param baseUrl GitBlit server url
 * @param username username of the user to be added
 * @param password password of the user to be added
 * @param adminUserName admin username of the server
 * @param adminPassword admin password of the server
 * @return created UserModel instance
 */
private UserModel createUserModel (int tenantId, String baseUrl, String username, String password,
                                   String adminUserName, String adminPassword) {

    UserModel userModel = new UserModel(username);
    userModel.canAdmin = true;
    userModel.password = password;

    boolean isUserCreated = false;
    try {
        isUserCreated = RpcUtils.createUser(userModel, baseUrl, adminUserName, adminPassword.toCharArray());

    } catch (IOException e) {
        handleError("User creation failed for tenant " + tenantId, e);
    }

    if(isUserCreated) {
        log.info("User created successfully for tenant " + tenantId);
    }
    else {
        handleError("User creation failed for tenant " + tenantId + ", server url: " +
            baseUrl);
    }

    return userModel;
}
 
开发者ID:wso2,项目名称:carbon-commons,代码行数:37,代码来源:GitBlitBasedRepositoryCreator.java


示例9: getUserModel

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Checks and returns the corresponding UserModel instance for the given username in the repository at baseUrl
 *
 * @param baseUrl GitBlit server url
 * @param userName username of the user
 * @param adminUserName admin username of the server
 * @param adminPassword admin password of the server
 * @return instance of UserModel if exists, else null
 */
private UserModel getUserModel(String baseUrl, String userName, String adminUserName, String adminPassword) {

    UserModel userModel =  null;
    List<UserModel> users;

    try {
        users = RpcUtils.getUsers(baseUrl, adminUserName, adminPassword.toCharArray());

    } catch (IOException e) {
        log.error("Error retrieving user details from git server " + baseUrl, e);
        return  null;
    }

    for (UserModel model : users) {
        if (model.username.equals(userName)) {
            userModel = model;
            break;
        }
    }
    return userModel;
}
 
开发者ID:wso2,项目名称:carbon-commons,代码行数:31,代码来源:GitBlitBasedRepositoryCreator.java


示例10: newUserModelFrom

import com.gitblit.models.UserModel; //导入依赖的package包/类
private static UserModel newUserModelFrom(PersonIdent ident) {
	String name = ident.getName();
	String username;
	String displayname;
	if (name.indexOf('/') > -1) {
		int slash = name.indexOf('/');
		displayname = name.substring(0, slash);
		username = name.substring(slash + 1);
	} else {
		displayname = name;
		username = ident.getEmailAddress();
	}

	UserModel user = new UserModel(username);
	user.displayName = displayname;
	user.emailAddress = ident.getEmailAddress();
	return user;
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:19,代码来源:RefLogUtils.java


示例11: deleteRef

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Logs a ref deletion.
 * 
 * @param user
 * @param repository
 * @param ref
 * @return true, if the update was successful
 */
public static boolean deleteRef(UserModel user, Repository repository, Ref ref) {
	try {
		if (ref == null) {
			return false;
		}
		RefModel reflogBranch = getRefLogBranch(repository);
		if (reflogBranch == null) {
			return false;
		}

		List<RevCommit> log = JGitUtils.getRevLog(repository, reflogBranch.getName(), ref.getName(), 0, 1);
		if (log.isEmpty()) {
			// this ref is not in the reflog branch
			return false;
		}
		ReceiveCommand cmd = new ReceiveCommand(ref.getObjectId(), ObjectId.zeroId(), ref.getName());
		return updateRefLog(user, repository, Arrays.asList(cmd));
	} catch (Throwable t) {
		error(t, repository, "Failed to commit reflog entry to {0}");
	}
	return false;
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:31,代码来源:RefLogUtils.java


示例12: addUserAttributions

import com.gitblit.models.UserModel; //导入依赖的package包/类
protected void addUserAttributions(MarkupContainer container, Change entry, int avatarSize) {
	UserModel commenter = app().users().getUserModel(entry.author);
	if (commenter == null) {
		// unknown user
		container.add(new AvatarImage("changeAvatar", entry.author,
				entry.author, null, avatarSize, false).setVisible(avatarSize > 0));
		container.add(new Label("changeAuthor", entry.author.toLowerCase()));
	} else {
		// known user
		container.add(new AvatarImage("changeAvatar", commenter.getDisplayName(),
				commenter.emailAddress, avatarSize > 24 ? "gravatar-round" : null,
						avatarSize, true).setVisible(avatarSize > 0));
		container.add(new LinkPanel("changeAuthor", null, commenter.getDisplayName(),
				UserPage.class, WicketUtils.newUsernameParameter(commenter.username)));
	}
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:17,代码来源:TicketPage.java


示例13: getUnnamedGerritUser

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * GitBlit assumes all users (or user accounts) have a username (account name or login name). Gerrit allows users (accounts) to not have a
 * username, for instance if the account is created or logged in via Google OAuth. I such cases, we have to fake a username for GitBlit.
 * 
 * @return a GitBlit {@link UserModel} for an unnamed Gerrit account.
 */
public UserModel getUnnamedGerritUser() {
	CurrentUser user = userProvider.get();
	if (!user.isIdentifiedUser()) {
		log.warn("\"Logged-in\" user according to session is anonymous.");
		return new GerritGitBlitUserModel(projectControl, anonymousUser, getDiffPreferences);
	}
	IdentifiedUser loggedInUser = (IdentifiedUser) user;
	// We know that this user has no username. Synthesize one for GitBlit.
	String fakeUserName = loggedInUser.getAccount().getPreferredEmail();
	if (Strings.isNullOrEmpty(fakeUserName)) {
		fakeUserName = loggedInUser.getAccount().getFullName();
		if (Strings.isNullOrEmpty(fakeUserName)) {
			fakeUserName = "external" + loggedInUser.getAccountId().toString();
		}
	}
	return new GerritGitBlitUserModel(fakeUserName, projectControl, userProvider, getDiffPreferences);
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:24,代码来源:GerritGitBlitUserManager.java


示例14: authenticate

import com.gitblit.models.UserModel; //导入依赖的package包/类
@Override
public UserModel authenticate(final HttpServletRequest httpRequest) {
	// Added by the GerritAuthenticationFilter.
	String username = (String) httpRequest.getAttribute("gerrit-username");
	String token = (String) httpRequest.getAttribute("gerrit-token");
	String password = (String) httpRequest.getAttribute("gerrit-password");

	if (!Strings.isNullOrEmpty(token)) {
		return authenticateFromSession(httpRequest, username, token);
	} else if (!Strings.isNullOrEmpty(password)) {
		return authenticateViaGerrit(httpRequest, username, password);
	} else if (GerritGitBlitUserModel.ANONYMOUS_USER.equals(username)) {
		// XXX Do we really still need this branch? We "inherited" that from the old official plugin...
		return userManager.getUserModel(username);
	}
	return null;
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:18,代码来源:GerritGitBlitAuthenticationManager.java


示例15: authenticateViaGerrit

import com.gitblit.models.UserModel; //导入依赖的package包/类
private UserModel authenticateViaGerrit(HttpServletRequest httpRequest, String username, String password) {
	if (Strings.isNullOrEmpty(username)) {
		log.warn("Authentication failed: no username");
		return null;
	}
	if (Strings.isNullOrEmpty(password)) {
		log.warn("Authentication failed: no password for user '{}'", username);
		return null;
	}

	AuthRequest who = AuthRequest.forUser(username);
	who.setPassword(password);

	try {
		AuthResult authResp = gerritAccountManager.authenticate(who);
		gerritSession.get().login(authResp, false);
		log.info("Logged in {}", username);
		return loggedIn(httpRequest, userManager.getUserModel(username), password, authResp);
	} catch (AccountException | IOException e) {
		log.warn("Authentication failed for user '" + username + '\'', e);
		return null;
	}
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:24,代码来源:GerritGitBlitAuthenticationManager.java


示例16: setCookie

import com.gitblit.models.UserModel; //导入依赖的package包/类
@Override
public void setCookie(HttpServletRequest request, HttpServletResponse response, UserModel user) {
	if (settings.getBoolean(Keys.web.allowCookieAuthentication, true) && isStandardLogin(request)) {
		Cookie userCookie;
		if (user == null) {
			// clear cookie for logout
			userCookie = new Cookie(Constants.NAME, "");
		} else {
			// set cookie for login
			String cookie = userManager.getCookie(user);
			if (Strings.isNullOrEmpty(cookie)) {
				// create empty cookie
				userCookie = new Cookie(Constants.NAME, "");
			} else {
				// create real cookie
				userCookie = new Cookie(Constants.NAME, cookie);
				// expire the cookie in 7 days
				userCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(7));
			}
		}
		userCookie.setPath(hostRelativePluginPath);
		response.addCookie(userCookie);
	}
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:25,代码来源:GerritGitBlitAuthenticationManager.java


示例17: loggedIn

import com.gitblit.models.UserModel; //导入依赖的package包/类
private UserModel loggedIn(HttpServletRequest request, UserModel user, String credentials, AuthResult authentication) {
	if (authentication != null && !gerritSession.get().getUser().isIdentifiedUser()) {
		log.warn("Setting account after log-in for " + user.getName());
		// We just logged in via Gerrit. However, if somehow somewhere some code called getCurrentUser() on that WebSession object before,
		// the "current user object" remains stuck on the previous value. Happens for instance in WrappedSyndicationFilter after the 401
		// challenge. Frankly said, I don't know if that is a bug in Gerrit, or what's up. Methinks CacheBasedWebSession.login() should
		// (re-)set its private field "user" to null, so that the next call to getCurrentUser() re-computes the user object. We can get
		// around this by forcing the account id to the account we just authenticated. In this request, this user won't be able to do
		// Gerrit administration, but we're inside GitBlit anyway, so there's no need for this anyway.
		gerritSession.get().setUserAccountId(authentication.getAccountId());
	}
	if (request != null) {
		request.getSession().setAttribute(Constants.ATTRIB_AUTHTYPE, AuthenticationType.CREDENTIALS);
	}
	user.cookie = StringUtils.getSHA1(user.getName() + credentials); // Code from GitBlit
	return user;
}
 
开发者ID:tomaswolf,项目名称:gerrit-gitblit-plugin,代码行数:18,代码来源:GerritGitBlitAuthenticationManager.java


示例18: sendCreate

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Sends a Glip message when a branch or a tag is created.
 *
 * @param receivePack
 * @param cmd
 * @param rType
 */
protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException {
	UserModel user = receivePack.getUserModel();
	RepositoryModel repo = receivePack.getRepositoryModel();
	String shortRef = Repository.shortenRefName(cmd.getRefName());
	String repoUrl = getUrl(repo.name, null, null);
	String logUrl = getUrl(repo.name, shortRef, null);

	String activity = String.format("%s has pushed to %s",
			user.getDisplayName(), StringUtils.stripDotGit(repo.name));

	String msg = String.format("**%s** has created %s [%s](%s) in [%s](%s)", user.getDisplayName(),
			rType.name().toLowerCase(), shortRef, logUrl, StringUtils.stripDotGit(repo.name), repoUrl);

   	Payload payload = new Payload()
   		.icon(getIconUrl(user))
   		.activity(activity)
   		.body(msg);

   	glip.setConversation(repo, payload);
   	glip.sendAsync(payload);
   }
 
开发者ID:gitblit,项目名称:gitblit-glip-plugin,代码行数:29,代码来源:GlipReceiveHook.java


示例19: sendDelete

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * Sends a Glip message when a branch or a tag is deleted.
 *
 * @param receivePack
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException {
	UserModel user = receivePack.getUserModel();
	RepositoryModel repo = receivePack.getRepositoryModel();
	String shortRef = Repository.shortenRefName(cmd.getRefName());
	String repoUrl = getUrl(repo.name, null, null);

	String activity = String.format("%s has pushed to %s",
			user.getDisplayName(), StringUtils.stripDotGit(repo.name));

	String msg = String.format("**%s** has deleted %s **%s** from [%s](%s)",
			user.getDisplayName(), rType.name().toLowerCase(), shortRef, StringUtils.stripDotGit(repo.name), repoUrl);

   	Payload payload = new Payload()
   		.icon(getIconUrl(user))
   		.activity(activity)
   		.body(msg);

   	glip.setConversation(repo, payload);
   	glip.sendAsync(payload);
}
 
开发者ID:gitblit,项目名称:gitblit-glip-plugin,代码行数:28,代码来源:GlipReceiveHook.java


示例20: testNamed_CLONE_CLONE

import com.gitblit.models.UserModel; //导入依赖的package包/类
/**
 * CLONE_CLONE = CLONE access restriction, CLONE access permission
 */
@Test
public void testNamed_CLONE_CLONE() throws Exception {
	RepositoryModel repository = new RepositoryModel("myrepo.git", null, null, new Date());
	repository.authorizationControl = AuthorizationControl.NAMED;
	repository.accessRestriction = AccessRestrictionType.CLONE;
	
	UserModel user = new UserModel("test");
	user.setRepositoryPermission(repository.name, AccessPermission.CLONE);

	assertTrue("named CAN NOT view!", user.canView(repository));
	assertTrue("named CAN NOT clone!", user.canClone(repository));
	assertFalse("named CAN push!", user.canPush(repository));
	
	assertFalse("named CAN create ref!", user.canCreateRef(repository));
	assertFalse("named CAN delete ref!", user.canDeleteRef(repository));
	assertFalse("named CAN rewind ref!", user.canRewindRef(repository));

	repository.allowForks = false;
	user.canFork = false;
	assertFalse("named CAN fork!", user.canFork(repository));
	user.canFork = true;
	assertFalse("named CAN fork!", user.canFork(repository));
	repository.allowForks = true;
	assertTrue("named CAN NOT fork!", user.canFork(repository));
}
 
开发者ID:BullShark,项目名称:IRCBlit,代码行数:29,代码来源:PermissionsTest.java



注:本文中的com.gitblit.models.UserModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CheckedVolume类代码示例发布时间:2022-05-22
下一篇:
Java Type类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap