📄 authdomain.java
字号:
package lib.commons.net;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import lib.commons.Utils;
public class AuthDomain {
private UserAuthInfo _userAuthInfo;
private Domain _domain;
public AuthDomain(UserAuthInfo userAuthInfo, Domain domain) {
if (null == domain)
throw new IllegalArgumentException("domain can't be null");
_userAuthInfo = userAuthInfo;
_domain = domain;
}
public UserAuthInfo getUserAuthInfo() {
return _userAuthInfo;
}
public Domain getDomain() {
return _domain;
}
public String toString(Protocol protocol) {
StringBuffer buf = new StringBuffer();
if (null != _userAuthInfo
&& !Utils.StringIsNullOrEmpty(_userAuthInfo.toString())) {
buf.append(_userAuthInfo).append('@');
}
buf.append(_domain.toString(protocol));
return buf.toString();
}
public String toString(){
return toString(null);
}
public final static String AuthDomain_Pattern_String = "("
+ UserAuthInfo.UserAuthInfo_Pattern_String + "@)?"
+ Domain.Domain_Pattern_String;
public final static Pattern AuthDomain_Pattern = Pattern
.compile(AuthDomain_Pattern_String);
public final static AuthDomain parseAuthDomain(String authDomainString) {
return parseAuthDomain(authDomainString, Protocol.HTTP);
}
public final static AuthDomain parseAuthDomain(String authDomainString,
Protocol protocol) {
AuthDomain authDomain = null;
if (!Utils.StringIsNullOrEmpty(authDomainString)) {
Matcher matcher = AuthDomain_Pattern.matcher(authDomainString);
if (matcher.matches()) {
int splitPos = authDomainString.indexOf('@');
String domainStr = null;
String authStr = null;
if (splitPos < 0) {
domainStr = authDomainString;
} else if (splitPos + 1 < authDomainString.length()) {
authStr = authDomainString.substring(0, splitPos);
domainStr = authDomainString.substring(splitPos + 1);
}
if (Utils.StringIsNullOrEmpty(domainStr)) {
throw new IllegalArgumentException(
"can't parse domain expression");
}
Domain domain = Domain.parseDomain(domainStr);
UserAuthInfo userAuthInfo = null;
if (!Utils.StringIsNullOrEmpty(authStr)) {
userAuthInfo = UserAuthInfo.parseUserAuthInfo(authStr);
}
authDomain = new AuthDomain(userAuthInfo, domain);
} else {
throw new IllegalArgumentException(
"can't parse domain expression");
}
} else {
throw new IllegalArgumentException("can't parse domain expression");
}
return authDomain;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -