@Override public int hashCode() { int result = 17; byte[] token = getToken(); if (token != null) { result = 31 * result + Arrays.hashCode(token); } result = 31 * result + getValueType().hashCode(); result = 31 * result + getEncodingType().hashCode(); return result; }
@Override public boolean equals(Object object) { if (!(object instanceof BinarySecurity)) { return false; } BinarySecurity binarySecurity = (BinarySecurity)object; byte[] token = binarySecurity.getToken(); if (!Arrays.equals(token, getToken())) { return false; } String valueType = binarySecurity.getValueType(); if (!valueType.equals(getValueType())) { return false; } String encodingType = binarySecurity.getEncodingType(); if (!encodingType.equals(getEncodingType())) { return false; } return true; }
/** * Constructor. * @param elem The BinarySecurityToken element to process * @param bspEnforcer a BSPEnforcer instance to enforce BSP rules * @throws WSSecurityException */ public BinarySecurity(Element elem, BSPEnforcer bspEnforcer) throws WSSecurityException { element = elem; QName el = new QName(element.getNamespaceURI(), element.getLocalName()); if (!(el.equals(TOKEN_BST) || el.equals(TOKEN_KI))) { throw new WSSecurityException( WSSecurityException.ErrorCode.INVALID_SECURITY_TOKEN, "unhandledToken", new Object[] {el}); } String encoding = getEncodingType(); if (encoding == null || "".equals(encoding)) { bspEnforcer.handleBSPRule(BSPRule.R3029); } if (!WSS4JConstants.BASE64_ENCODING.equals(encoding)) { bspEnforcer.handleBSPRule(BSPRule.R3030); } String valueType = getValueType(); if (valueType == null || "".equals(valueType)) { bspEnforcer.handleBSPRule(BSPRule.R3031); } }