org.refcodes.io.ByteArrayProviderImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of refcodes-io Show documentation
Show all versions of refcodes-io Show documentation
Artifact with commonly used I/O functionality and for connection related
issues such as receiving or transmitting data in a unified way.
package org.refcodes.io;
import java.util.List;
import org.refcodes.component.OpenException;
/**
* The Class ByteArrayProviderImpl.
*/
public class ByteArrayProviderImpl extends AbstractByteProvider implements ByteArrayProvider {
// /////////////////////////////////////////////////////////////////////////
// STATICS:
// /////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////
// CONSTANTS:
// /////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////
// VARIABLES:
// /////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////
// CONSTRUCTORS:
// /////////////////////////////////////////////////////////////////////////
/**
* Instantiates a new byte array provider impl.
*
* @param aDatagrams the datagrams
*/
public ByteArrayProviderImpl( byte[] aDatagrams ) {
super( aDatagrams.length );
try {
pushDatagrams( aDatagrams );
}
catch ( OpenException ignore ) {}
}
/**
* Instantiates a new byte array provider impl.
*
* @param aDatagrams the datagrams
*/
public ByteArrayProviderImpl( List aDatagrams ) {
this( toPrimitiveType( aDatagrams.toArray( new Byte[aDatagrams.size()] ) ) );
}
// /////////////////////////////////////////////////////////////////////////
// INJECTION:
// /////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////
// METHODS:
// /////////////////////////////////////////////////////////////////////////
/**
* {@inheritDoc}
*/
@Override
public byte[] getBytes() {
return toPrimitiveType( _datagramQueue.toArray( new Byte[_datagramQueue.size()] ) );
}
// /////////////////////////////////////////////////////////////////////////
// HOOKS:
// /////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////
// HELPER:
// /////////////////////////////////////////////////////////////////////////
private static byte[] toPrimitiveType( Byte[] aBytes ) {
if ( aBytes == null ) return null;
byte[] thePrimitives = new byte[aBytes.length];
for ( int i = 0; i < aBytes.length; i++ ) {
thePrimitives[i] = aBytes[i].byteValue();
}
return thePrimitives;
}
// /////////////////////////////////////////////////////////////////////////
// INNER CLASSES:
// /////////////////////////////////////////////////////////////////////////
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy