/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.yangtools.yang.parser.util;
import com.google.common.io.ByteStreams;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
public class NamedByteArrayInputStream extends ByteArrayInputStream implements NamedInputStream {
private final String toString;
public NamedByteArrayInputStream(final byte[] buf, final String toString) {
super(buf);
this.toString = toString;
}
public static ByteArrayInputStream create(final InputStream originalIS) throws IOException {
final byte[] data = ByteStreams.toByteArray(originalIS);
if (originalIS instanceof NamedInputStream) {
return new NamedByteArrayInputStream(data, originalIS.toString());
}
return new ByteArrayInputStream(data);
}
@Override
public String toString() {
return toString;
}
}