1 /* 2 * The contents of this file are subject to the terms 3 * of the Common Development and Distribution License 4 * (the "License"). You may not use this file except 5 * in compliance with the License. 6 * 7 * You can obtain a copy of the license at 8 * glassfish/bootstrap/legal/CDDLv1.0.txt or 9 * https://glassfish.dev.java.net/public/CDDLv1.0.html. 10 * See the License for the specific language governing 11 * permissions and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL 14 * HEADER in each file and include the License file at 15 * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable, 16 * add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your 18 * own identifying information: Portions Copyright [yyyy] 19 * [name of copyright owner] 20 */ 21 22 /* 23 * @(#)BEncoderStream.java 1.4 05/08/29 24 * 25 * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. 26 */ 27 28 package com.sun.mail.util; 29 30 import java.io.*; 31 32 /** 33 * This class implements a 'B' Encoder as defined by RFC2047 for 34 * encoding MIME headers. It subclasses the BASE64EncoderStream 35 * class. 36 * 37 * @author John Mani 38 */ 39 40 public class BEncoderStream extends BASE64EncoderStream { 41 42 /** 43 * Create a 'B' encoder that encodes the specified input stream. 44 * @param out the output stream 45 */ 46 public BEncoderStream(OutputStream out) { 47 super(out, Integer.MAX_VALUE); // MAX_VALUE is 2^31, should 48 // suffice (!) to indicate that 49 // CRLFs should not be inserted 50 } 51 52 /** 53 * Returns the length of the encoded version of this byte array. 54 */ 55 public static int encodedLength(byte[] b) { 56 return ((b.length + 2)/3) * 4; 57 } 58 } 59