/src/com/jstun/core/attribute/Username.java
Java | 64 lines | 38 code | 10 blank | 16 comment | 2 complexity | 050694661b8ae7998d16486f759f1616 MD5 | raw file
Possible License(s): GPL-3.0, BSD-3-Clause
- /*
- * This file is part of JSTUN.
- *
- * Copyright (c) 2005 Thomas King <king@t-king.de> - All rights
- * reserved.
- *
- * This software is licensed under either the GNU Public License (GPL),
- * or the Apache 2.0 license. Copies of both license agreements are
- * included in this distribution.
- */
-
- package com.jstun.core.attribute;
-
- import com.jstun.core.util.Utility;
- import com.jstun.core.util.UtilityException;
-
- public class Username extends MessageAttribute {
- String username;
-
- public Username() {
- super(MessageAttribute.MessageAttributeType.Username);
- }
-
- public Username(String username) {
- super(MessageAttribute.MessageAttributeType.Username);
- setUsername(username);
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public byte[] getBytes() throws UtilityException {
- int length = username.length();
- // username header
- if ((length % 4) != 0) {
- length += 4 - (length % 4);
- }
- // message attribute header
- length += 4;
- byte[] result = new byte[length];
- // message attribute header
- // type
- System.arraycopy(Utility.integerToTwoBytes(typeToInteger(type)), 0, result, 0, 2);
- // length
- System.arraycopy(Utility.integerToTwoBytes(length-4), 0, result, 2, 2);
-
- // username header
- byte[] temp = username.getBytes();
- System.arraycopy(temp, 0, result, 4, temp.length);
- return result;
- }
-
- public static Username parse(byte[] data) {
- Username result = new Username();
- String username = new String(data);
- result.setUsername(username);
- return result;
- }
- }