/*
* @(#)BasicConnector.java 1.8 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media;
import javax.media.*;
import javax.media.Format;
/**
* Defines implementation of the Connector interface.
*
**/
public abstract class BasicConnector implements Connector{
/** the module which registered this connector **/
protected Module module=null;
/** minimum number of data chunks this connector should allocate **/
protected int minSize=1;
/** the format chosen for this connector. null if none **/
protected Format format=null;
/** the circularBuffer which is the connector memory **/
protected CircularBuffer circularBuffer=null;
/** the name the module chose for this connector **/
protected String name = null;
/** the data transfer protocol chosen for this Connector.<br>
* either <i>ProtocolPush, ProtocolSafe</i>
* @see Connector#ProtocolPush
* @see Connector#ProtocolSafe
**/
protected int protocol = ProtocolPush;
/** returns the circular buffer
* @see #circularBuffer
**/
public Object getCircularBuffer() {
return circularBuffer;
}
/**
* sets the CircularBuffer of this Connector.
* @see #circularBuffer
**/
public void setCircularBuffer(Object cicularBuffer){
this.circularBuffer = (CircularBuffer)cicularBuffer;
}
/**
* Selects a format for this Connector. Delegates this call to its owning Module
* @see #format
**/
public void setFormat(Format format){
module.setFormat((Connector)this,format);
this.format=format;
}
/**
* The selected format.
* @see #format
*/
public Format getFormat(){
return format;
}
/**
* Returns the Module which owns this Connector.
* @see #module
*/
public Module getModule() {
return module;
}
/**
* sets the Module which owns this Connector.
* @see #module
*
*/
public void setModule(Module module) {
this.module = module;
}
/**
* sets the <b>minimum</b> number of buffer objects this Connector should create.
* The default value should be one buffer object.
* @see #minSize
**/
public void setSize(int numOfBufferObjects){
minSize = numOfBufferObjects;
}
/**
* gets the <b>minimum</b> number of buffer objects this Connector should create.
* @see #minSize
**/
public int getSize() {
return minSize;
}
/**
* restores this Connector to its initial state
**/
public void reset() {
circularBuffer.reset();
}
/** returns the name of this Connector
* @see #name
**/
public String getName(){
return name;
}
/** sets the name of this Connector
* @see #name
**/
public void setName(String name){
this.name=name;
}
/** sets the data transfer protocol used by this connector.
* @see #protocol
**/
public void setProtocol(int protocol){
this.protocol=protocol;
}
/** returns the data transfer protocol used by this connector.
* @see #protocol
**/
public int getProtocol(){
return protocol;
}
public void print() {
circularBuffer.print();
}
}
|