Password.java :  » VOIP » aethervoice » com » jstun » core » attribute » Android Open Source

Android Open Source » VOIP » aethervoice 
aethervoice » com » jstun » core » attribute » Password.java
/*
 * 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 Password extends MessageAttribute {
  String password;
  
  public Password() {
    super(MessageAttribute.MessageAttributeType.Password);
  }
  
  public Password(String password) {
    super(MessageAttribute.MessageAttributeType.Password);
    setPassword(password);
  }
  
  public String getPassword() {
    return password;
  }
  
  public void setPassword(String password) {
    this.password = password;
  }
  
  public byte[] getBytes() throws UtilityException {
    int length = password.length();
    // password 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);
    
    // password header
    byte[] temp = password.getBytes();
    System.arraycopy(temp, 0, result, 4, temp.length);
    return result;
  }
  
  public static Password parse(byte[] data) {
    Password result = new Password();
    String password = new String(data);
    result.setPassword(password);
    return result;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.