![JAR search and dependency download from the Maven repository](/logo.png)
com.ericsson.otp.erlang.OtpErlangBinary Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jinterface Show documentation
Show all versions of jinterface Show documentation
Jinterface Java package contains java classes, which help you integrate programs written in Java with Erlang.
Erlang is a programming language designed at the Ericsson Computer Science Laboratory.
/*
* %CopyrightBegin%
*
* Copyright Ericsson AB 2000-2009. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* %CopyrightEnd%
*/
package com.ericsson.otp.erlang;
import java.io.Serializable;
/**
* Provides a Java representation of Erlang binaries. Anything that can be
* represented as a sequence of bytes can be made into an Erlang binary.
*/
public class OtpErlangBinary extends OtpErlangBitstr implements Serializable,
Cloneable {
// don't change this!
static final long serialVersionUID = -3781009633593609217L;
/**
* Create a binary from a byte array
*
* @param bin
* the array of bytes from which to create the binary.
*/
public OtpErlangBinary(final byte[] bin) {
super(bin);
}
/**
* Create a binary from a stream containing a binary encoded in Erlang
* external format.
*
* @param buf
* the stream containing the encoded binary.
*
* @exception OtpErlangDecodeException
* if the buffer does not contain a valid external
* representation of an Erlang binary.
*/
public OtpErlangBinary(final OtpInputStream buf)
throws OtpErlangDecodeException {
super(new byte[0]);
bin = buf.read_binary();
pad_bits = 0;
}
/**
* Create a binary from an arbitrary Java Object. The object must implement
* java.io.Serializable or java.io.Externalizable.
*
* @param o
* the object to serialize and create this binary from.
*/
public OtpErlangBinary(final Object o) {
super(o);
}
/**
* Convert this binary to the equivalent Erlang external representation.
*
* @param buf
* an output stream to which the encoded binary should be
* written.
*/
@Override
public void encode(final OtpOutputStream buf) {
buf.write_binary(bin);
}
@Override
public Object clone() {
final OtpErlangBinary that = (OtpErlangBinary) super.clone();
return that;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy