diff --git a/apidocs/1.0.13/allclasses-frame.html b/apidocs/1.0.13/allclasses-frame.html new file mode 100644 index 00000000..bfb89d55 --- /dev/null +++ b/apidocs/1.0.13/allclasses-frame.html @@ -0,0 +1,28 @@ + + + +
+ + +public interface CanalConnector
+| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ack(long batchId)
+进行 batch id 的确认。
+ |
+
boolean |
+checkValid()
+检查下链接是否合法
+
+
+ 几种case下链接不合法:
+ 1.
+ |
+
void |
+connect()
+链接对应的canal server
+ |
+
void |
+disconnect()
+释放链接
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize)
+获取数据,自动进行确认,该方法返回的条件:尝试拿batchSize条记录,有多少取多少,不会阻塞等待
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+获取数据,自动进行确认
+
+
+ 该方法返回的条件:
+ a.
+ |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize)
+不指定 position 获取事件,该方法返回的条件: 尝试拿batchSize条记录,有多少取多少,不会阻塞等待
++ canal 会记住此 client 最新的position。 |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+不指定 position 获取事件.
+ |
+
void |
+rollback()
+回滚到未进行
+ack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿 |
+
void |
+rollback(long batchId)
+回滚到未进行
+ack 的地方,指定回滚具体的batchId |
+
void |
+subscribe()
+客户端订阅,不提交客户端filter,以服务端的filter为准
+ |
+
void |
+subscribe(String filter)
+客户端订阅,重复订阅时会更新对应的filter信息
+
+
+ 说明:
+ a.
+ |
+
void |
+unsubscribe()
+取消订阅
+ |
+
void connect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid disconnect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
com.alibaba.otter.canal.protocol.exception.CanalClientExceptionboolean checkValid() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
+ 几种case下链接不合法: + 1. 链接canal server失败,一直没有一个可用的链接,返回false + 2. 当前客户端在进行running抢占的时候,做为备份节点存在,非处于工作节点,返回false + + 说明: + a. 当前客户端一旦做为备份节点存在,当前所有的对CanalConnector的操作都会处于阻塞状态,直到转为工作节点 + b. 所以业务方最好定时调用checkValid()方法用,比如调用CanalConnector所在线程的interrupt,直接退出CanalConnector,并根据自己的需要退出自己的资源 +
com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid subscribe(String filter) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
+ 说明: + a. 如果本次订阅中filter信息为空,则直接使用canal server服务端配置的filter信息 + b. 如果本次订阅中filter信息不为空,目前会直接替换canal server服务端配置的filter信息,以本次提交的为准 + + TODO: 后续可以考虑,如果本次提交的filter不为空,在执行过滤时,是对canal server filter + 本次filter的交集处理,达到只取1份binlog数据,多个客户端消费不同的表 +
clientIdentity - com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid subscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
clientIdentity - com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid unsubscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
clientIdentity - com.alibaba.otter.canal.protocol.exception.CanalClientExceptioncom.alibaba.otter.canal.protocol.Message get(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
batchSize - com.alibaba.otter.canal.protocol.exception.CanalClientExceptioncom.alibaba.otter.canal.protocol.Message get(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 +
batchSize - com.alibaba.otter.canal.protocol.exception.CanalClientExceptioncom.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
batchSize - com.alibaba.otter.canal.protocol.exception.CanalClientExceptioncom.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 ++ + canal 会记住此 client 最新的position。
batchSize - timeout - unit - com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid ack(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
batchId - com.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid rollback(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
ack 的地方,指定回滚具体的batchIdcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionvoid rollback() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
ack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿com.alibaba.otter.canal.protocol.exception.CanalClientExceptionCopyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalConnectors.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalConnectors.html new file mode 100644 index 00000000..1c09a515 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalConnectors.html @@ -0,0 +1,322 @@ + + + + + + +public class CanalConnectors +extends Object+
| 构造器和说明 | +
|---|
CanalConnectors() |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
static CanalConnector |
+newClusterConnector(List<? extends SocketAddress> addresses,
+ String destination,
+ String username,
+ String password)
+创建带cluster模式的客户端链接,自动完成failover切换
+ |
+
static CanalConnector |
+newClusterConnector(String zkServers,
+ String destination,
+ String username,
+ String password)
+创建带cluster模式的客户端链接,自动完成failover切换,服务器列表自动扫描
+ |
+
static CanalConnector |
+newSingleConnector(SocketAddress address,
+ String destination,
+ String username,
+ String password)
+创建单链接的客户端链接
+ |
+
public static CanalConnector newSingleConnector(SocketAddress address, + String destination, + String username, + String password)+
address - username - password - public static CanalConnector newClusterConnector(List<? extends SocketAddress> addresses, + String destination, + String username, + String password)+
addresses - username - password - public static CanalConnector newClusterConnector(String zkServers, + String destination, + String username, + String password)+
username - password - Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalNodeAccessStrategy.html new file mode 100644 index 00000000..d1f40bd4 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/CanalNodeAccessStrategy.html @@ -0,0 +1,217 @@ + + + + + + +public interface CanalNodeAccessStrategy
+| 限定符和类型 | +方法和说明 | +
|---|---|
SocketAddress |
+nextNode() |
+
SocketAddress nextNode()+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnector.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnector.html new file mode 100644 index 00000000..0762f475 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnector.html @@ -0,0 +1,210 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client | ++ |
| com.alibaba.otter.canal.client.impl | ++ |
| 限定符和类型 | +方法和说明 | +
|---|---|
static CanalConnector |
+CanalConnectors.newClusterConnector(List<? extends SocketAddress> addresses,
+ String destination,
+ String username,
+ String password)
+创建带cluster模式的客户端链接,自动完成failover切换
+ |
+
static CanalConnector |
+CanalConnectors.newClusterConnector(String zkServers,
+ String destination,
+ String username,
+ String password)
+创建带cluster模式的客户端链接,自动完成failover切换,服务器列表自动扫描
+ |
+
static CanalConnector |
+CanalConnectors.newSingleConnector(SocketAddress address,
+ String destination,
+ String username,
+ String password)
+创建单链接的客户端链接
+ |
+
| 限定符和类型 | +类和说明 | +
|---|---|
class |
+ClusterCanalConnector
+集群版本connector实现,自带了failover功能
+ |
+
class |
+SimpleCanalConnector
+基于CanalServerWithNetty定义的网络协议接口,对于canal数据进行get/rollback/ack等操作
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnectors.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnectors.html new file mode 100644 index 00000000..e0422322 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalConnectors.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalNodeAccessStrategy.html new file mode 100644 index 00000000..de9eab95 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/class-use/CanalNodeAccessStrategy.html @@ -0,0 +1,205 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl | ++ |
| 限定符和类型 | +类和说明 | +
|---|---|
class |
+ClusterNodeAccessStrategy
+集群模式的调度策略
+ |
+
class |
+SimpleNodeAccessStrategy
+简单版本的node访问实现
+ |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
CanalNodeAccessStrategy |
+ClusterCanalConnector.getAccessStrategy() |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ClusterCanalConnector.setAccessStrategy(CanalNodeAccessStrategy accessStrategy) |
+
| 构造器和说明 | +
|---|
ClusterCanalConnector(String username,
+ String password,
+ String destination,
+ CanalNodeAccessStrategy accessStrategy) |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterCanalConnector.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterCanalConnector.html new file mode 100644 index 00000000..f704974a --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterCanalConnector.html @@ -0,0 +1,786 @@ + + + + + + +public class ClusterCanalConnector +extends Object +implements CanalConnector+
| 构造器和说明 | +
|---|
ClusterCanalConnector(String username,
+ String password,
+ String destination,
+ CanalNodeAccessStrategy accessStrategy) |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ack(long batchId)
+进行 batch id 的确认。
+ |
+
boolean |
+checkValid()
+检查下链接是否合法
+
+
+ 几种case下链接不合法:
+ 1.
+ |
+
void |
+connect()
+链接对应的canal server
+ |
+
void |
+disconnect()
+释放链接
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize)
+获取数据,自动进行确认,该方法返回的条件:尝试拿batchSize条记录,有多少取多少,不会阻塞等待
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+获取数据,自动进行确认
+
+
+ 该方法返回的条件:
+ a.
+ |
+
CanalNodeAccessStrategy |
+getAccessStrategy() |
+
SimpleCanalConnector |
+getCurrentConnector() |
+
String |
+getPassword() |
+
int |
+getRetryInterval() |
+
int |
+getRetryTimes() |
+
int |
+getSoTimeout() |
+
String |
+getUsername() |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize)
+不指定 position 获取事件,该方法返回的条件: 尝试拿batchSize条记录,有多少取多少,不会阻塞等待
++ canal 会记住此 client 最新的position。 |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+不指定 position 获取事件.
+ |
+
void |
+rollback()
+回滚到未进行
+ack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿 |
+
void |
+rollback(long batchId)
+回滚到未进行
+ack 的地方,指定回滚具体的batchId |
+
void |
+setAccessStrategy(CanalNodeAccessStrategy accessStrategy) |
+
void |
+setPassword(String password) |
+
void |
+setRetryInterval(int retryInterval) |
+
void |
+setRetryTimes(int retryTimes) |
+
void |
+setSoTimeout(int soTimeout) |
+
void |
+setUsername(String username) |
+
void |
+subscribe()
+客户端订阅,不提交客户端filter,以服务端的filter为准
+ |
+
void |
+subscribe(String filter)
+客户端订阅,重复订阅时会更新对应的filter信息
+
+
+ 说明:
+ a.
+ |
+
void |
+unsubscribe()
+取消订阅
+ |
+
public ClusterCanalConnector(String username, + String password, + String destination, + CanalNodeAccessStrategy accessStrategy)+
public void connect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorconnect 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic boolean checkValid()+
CanalConnector+ 几种case下链接不合法: + 1. 链接canal server失败,一直没有一个可用的链接,返回false + 2. 当前客户端在进行running抢占的时候,做为备份节点存在,非处于工作节点,返回false + + 说明: + a. 当前客户端一旦做为备份节点存在,当前所有的对CanalConnector的操作都会处于阻塞状态,直到转为工作节点 + b. 所以业务方最好定时调用checkValid()方法用,比如调用CanalConnector所在线程的interrupt,直接退出CanalConnector,并根据自己的需要退出自己的资源 +
checkValid 在接口中 CanalConnectorpublic void disconnect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectordisconnect 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void subscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorsubscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void subscribe(String filter) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 说明: + a. 如果本次订阅中filter信息为空,则直接使用canal server服务端配置的filter信息 + b. 如果本次订阅中filter信息不为空,目前会直接替换canal server服务端配置的filter信息,以本次提交的为准 + + TODO: 后续可以考虑,如果本次提交的filter不为空,在执行过滤时,是对canal server filter + 本次filter的交集处理,达到只取1份binlog数据,多个客户端消费不同的表 +
subscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void unsubscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorunsubscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message get(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorget 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message get(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 +
get 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorgetWithoutAck 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 ++ + canal 会记住此 client 最新的position。
getWithoutAck 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void rollback(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 的地方,指定回滚具体的batchIdrollback 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void rollback() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿rollback 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void ack(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic String getUsername()+
public void setUsername(String username)+
public String getPassword()+
public void setPassword(String password)+
public int getSoTimeout()+
public void setSoTimeout(int soTimeout)+
public int getRetryTimes()+
public void setRetryTimes(int retryTimes)+
public int getRetryInterval()+
public void setRetryInterval(int retryInterval)+
public CanalNodeAccessStrategy getAccessStrategy()+
public void setAccessStrategy(CanalNodeAccessStrategy accessStrategy)+
public SimpleCanalConnector getCurrentConnector()+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterNodeAccessStrategy.html new file mode 100644 index 00000000..8d114a40 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/ClusterNodeAccessStrategy.html @@ -0,0 +1,300 @@ + + + + + + +public class ClusterNodeAccessStrategy +extends Object +implements CanalNodeAccessStrategy+
| 构造器和说明 | +
|---|
ClusterNodeAccessStrategy(String destination,
+ com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient) |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
com.alibaba.otter.canal.common.zookeeper.ZkClientx |
+getZkClient() |
+
SocketAddress |
+nextNode() |
+
void |
+setZkClient(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient) |
+
public ClusterNodeAccessStrategy(String destination, + com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient)+
public SocketAddress nextNode()+
nextNode 在接口中 CanalNodeAccessStrategypublic void setZkClient(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient)+
public com.alibaba.otter.canal.common.zookeeper.ZkClientx getZkClient()+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.html new file mode 100644 index 00000000..12e0d249 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.html @@ -0,0 +1,741 @@ + + + + + + +public class SimpleCanalConnector +extends Object +implements CanalConnector+
| 构造器和说明 | +
|---|
SimpleCanalConnector(SocketAddress address,
+ String username,
+ String password,
+ String destination) |
+
SimpleCanalConnector(SocketAddress address,
+ String username,
+ String password,
+ String destination,
+ int soTimeout) |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ack(long batchId)
+进行 batch id 的确认。
+ |
+
boolean |
+checkValid()
+检查下链接是否合法
+
+
+ 几种case下链接不合法:
+ 1.
+ |
+
void |
+connect()
+链接对应的canal server
+ |
+
void |
+disconnect()
+释放链接
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize)
+获取数据,自动进行确认,该方法返回的条件:尝试拿batchSize条记录,有多少取多少,不会阻塞等待
+ |
+
com.alibaba.otter.canal.protocol.Message |
+get(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+获取数据,自动进行确认
+
+
+ 该方法返回的条件:
+ a.
+ |
+
SocketAddress |
+getAddress() |
+
String |
+getPassword() |
+
int |
+getSoTimeout() |
+
String |
+getUsername() |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize)
+不指定 position 获取事件,该方法返回的条件: 尝试拿batchSize条记录,有多少取多少,不会阻塞等待
++ canal 会记住此 client 最新的position。 |
+
com.alibaba.otter.canal.protocol.Message |
+getWithoutAck(int batchSize,
+ Long timeout,
+ TimeUnit unit)
+不指定 position 获取事件.
+ |
+
void |
+rollback()
+回滚到未进行
+ack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿 |
+
void |
+rollback(long batchId)
+回滚到未进行
+ack 的地方,指定回滚具体的batchId |
+
void |
+setRollbackOnConnect(boolean rollbackOnConnect) |
+
void |
+setRollbackOnDisConnect(boolean rollbackOnDisConnect) |
+
void |
+setSoTimeout(int soTimeout) |
+
void |
+setZkClientx(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClientx) |
+
void |
+subscribe()
+客户端订阅,不提交客户端filter,以服务端的filter为准
+ |
+
void |
+subscribe(String filter)
+客户端订阅,重复订阅时会更新对应的filter信息
+
+
+ 说明:
+ a.
+ |
+
void |
+unsubscribe()
+取消订阅
+ |
+
public SimpleCanalConnector(SocketAddress address, + String username, + String password, + String destination)+
public SimpleCanalConnector(SocketAddress address, + String username, + String password, + String destination, + int soTimeout)+
public void connect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorconnect 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void disconnect() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectordisconnect 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void subscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorsubscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void subscribe(String filter) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 说明: + a. 如果本次订阅中filter信息为空,则直接使用canal server服务端配置的filter信息 + b. 如果本次订阅中filter信息不为空,目前会直接替换canal server服务端配置的filter信息,以本次提交的为准 + + TODO: 后续可以考虑,如果本次提交的filter不为空,在执行过滤时,是对canal server filter + 本次filter的交集处理,达到只取1份binlog数据,多个客户端消费不同的表 +
subscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void unsubscribe() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorunsubscribe 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message get(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorget 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message get(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 +
get 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorgetWithoutAck 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic com.alibaba.otter.canal.protocol.Message getWithoutAck(int batchSize, + Long timeout, + TimeUnit unit) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnector+ 该方法返回的条件: + a. 拿够batchSize条记录或者超过timeout时间 + b. 如果timeout=0,则阻塞至拿到batchSize记录才返回 ++ + canal 会记住此 client 最新的position。
getWithoutAck 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void ack(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void rollback(long batchId) + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 的地方,指定回滚具体的batchIdrollback 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic void rollback() + throws com.alibaba.otter.canal.protocol.exception.CanalClientException+
CanalConnectorack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿rollback 在接口中 CanalConnectorcom.alibaba.otter.canal.protocol.exception.CanalClientExceptionpublic boolean checkValid()+
CanalConnector+ 几种case下链接不合法: + 1. 链接canal server失败,一直没有一个可用的链接,返回false + 2. 当前客户端在进行running抢占的时候,做为备份节点存在,非处于工作节点,返回false + + 说明: + a. 当前客户端一旦做为备份节点存在,当前所有的对CanalConnector的操作都会处于阻塞状态,直到转为工作节点 + b. 所以业务方最好定时调用checkValid()方法用,比如调用CanalConnector所在线程的interrupt,直接退出CanalConnector,并根据自己的需要退出自己的资源 +
checkValid 在接口中 CanalConnectorpublic SocketAddress getAddress()+
public String getUsername()+
public String getPassword()+
public int getSoTimeout()+
public void setSoTimeout(int soTimeout)+
public void setZkClientx(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClientx)+
public void setRollbackOnConnect(boolean rollbackOnConnect)+
public void setRollbackOnDisConnect(boolean rollbackOnDisConnect)+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleNodeAccessStrategy.html new file mode 100644 index 00000000..9e851799 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/SimpleNodeAccessStrategy.html @@ -0,0 +1,272 @@ + + + + + + +public class SimpleNodeAccessStrategy +extends Object +implements CanalNodeAccessStrategy+
| 构造器和说明 | +
|---|
SimpleNodeAccessStrategy(List<? extends SocketAddress> nodes) |
+
public SimpleNodeAccessStrategy(List<? extends SocketAddress> nodes)+
public SocketAddress nextNode()+
nextNode 在接口中 CanalNodeAccessStrategyCopyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterCanalConnector.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterCanalConnector.html new file mode 100644 index 00000000..9ca80ab3 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterCanalConnector.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterNodeAccessStrategy.html new file mode 100644 index 00000000..df0ce962 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/ClusterNodeAccessStrategy.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleCanalConnector.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleCanalConnector.html new file mode 100644 index 00000000..75b531f3 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleCanalConnector.html @@ -0,0 +1,157 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl | ++ |
| 限定符和类型 | +方法和说明 | +
|---|---|
SimpleCanalConnector |
+ClusterCanalConnector.getCurrentConnector() |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleNodeAccessStrategy.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleNodeAccessStrategy.html new file mode 100644 index 00000000..ac14701b --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/class-use/SimpleNodeAccessStrategy.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-frame.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-frame.html new file mode 100644 index 00000000..4ed27b77 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-frame.html @@ -0,0 +1,23 @@ + + + + + + +| 类 | +说明 | +
|---|---|
| ClusterCanalConnector | +
+ 集群版本connector实现,自带了failover功能
+ |
+
| ClusterNodeAccessStrategy | +
+ 集群模式的调度策略
+ |
+
| SimpleCanalConnector | +
+ 基于CanalServerWithNetty定义的网络协议接口,对于canal数据进行get/rollback/ack等操作
+ |
+
| SimpleNodeAccessStrategy | +
+ 简单版本的node访问实现
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-tree.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-tree.html new file mode 100644 index 00000000..864fe22d --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-tree.html @@ -0,0 +1,133 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-use.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-use.html new file mode 100644 index 00000000..887e4d4d --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/package-use.html @@ -0,0 +1,152 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl | ++ |
| 类和说明 | +
|---|
| SimpleCanalConnector
+ 基于CanalServerWithNetty定义的网络协议接口,对于canal数据进行get/rollback/ack等操作
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningData.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningData.html new file mode 100644 index 00000000..b71637ae --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningData.html @@ -0,0 +1,328 @@ + + + + + + +public class ClientRunningData +extends Object+
| 构造器和说明 | +
|---|
ClientRunningData() |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
String |
+getAddress() |
+
short |
+getClientId() |
+
boolean |
+isActive() |
+
void |
+setActive(boolean active) |
+
void |
+setAddress(String address) |
+
void |
+setClientId(short clientId) |
+
public short getClientId()+
public void setClientId(short clientId)+
public String getAddress()+
public void setAddress(String address)+
public boolean isActive()+
public void setActive(boolean active)+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningListener.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningListener.html new file mode 100644 index 00000000..f7ecb6a9 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningListener.html @@ -0,0 +1,232 @@ + + + + + + +public interface ClientRunningListener
+| 限定符和类型 | +方法和说明 | +
|---|---|
InetSocketAddress |
+processActiveEnter()
+触发现在轮到自己做为active,需要载入上一个active的上下文数据
+ |
+
void |
+processActiveExit()
+触发一下当前active模式失败
+ |
+
InetSocketAddress processActiveEnter()+
void processActiveExit()+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningMonitor.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningMonitor.html new file mode 100644 index 00000000..97250599 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/ClientRunningMonitor.html @@ -0,0 +1,430 @@ + + + + + + +public class ClientRunningMonitor
+extends com.alibaba.otter.canal.common.AbstractCanalLifeCycle
+| 构造器和说明 | +
|---|
ClientRunningMonitor() |
+
| 限定符和类型 | +方法和说明 | +
|---|---|
boolean |
+check()
+检查当前的状态
+ |
+
void |
+initRunning() |
+
boolean |
+releaseRunning() |
+
void |
+setClientData(ClientRunningData clientData) |
+
void |
+setDelayTime(int delayTime) |
+
void |
+setDestination(String destination) |
+
void |
+setListener(ClientRunningListener listener) |
+
void |
+setZkClient(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient) |
+
void |
+start() |
+
void |
+stop() |
+
void |
+waitForActive()
+阻塞等待自己成为active,如果自己成为active,立马返回
+ |
+
isStartpublic void start()+
start 在接口中 com.alibaba.otter.canal.common.CanalLifeCyclestart 在类中 com.alibaba.otter.canal.common.AbstractCanalLifeCyclepublic void stop()+
stop 在接口中 com.alibaba.otter.canal.common.CanalLifeCyclestop 在类中 com.alibaba.otter.canal.common.AbstractCanalLifeCyclepublic void initRunning()+
public void waitForActive() + throws InterruptedException+
InterruptedExceptionpublic boolean check()+
public boolean releaseRunning()+
public void setListener(ClientRunningListener listener)+
public void setDestination(String destination)+
public void setClientData(ClientRunningData clientData)+
public void setDelayTime(int delayTime)+
public void setZkClient(com.alibaba.otter.canal.common.zookeeper.ZkClientx zkClient)+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningData.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningData.html new file mode 100644 index 00000000..7c8198a1 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningData.html @@ -0,0 +1,157 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl.running | ++ |
| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ClientRunningMonitor.setClientData(ClientRunningData clientData) |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningListener.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningListener.html new file mode 100644 index 00000000..4f95276e --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningListener.html @@ -0,0 +1,157 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl.running | ++ |
| 限定符和类型 | +方法和说明 | +
|---|---|
void |
+ClientRunningMonitor.setListener(ClientRunningListener listener) |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningMonitor.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningMonitor.html new file mode 100644 index 00000000..93465a09 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/class-use/ClientRunningMonitor.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-frame.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-frame.html new file mode 100644 index 00000000..81012244 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-frame.html @@ -0,0 +1,25 @@ + + + + + + +| 接口 | +说明 | +
|---|---|
| ClientRunningListener | +
+ 触发一下mainstem发生切换
+ |
+
| 类 | +说明 | +
|---|---|
| ClientRunningData | +
+ client running状态信息
+ |
+
| ClientRunningMonitor | +
+ clinet running控制
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-tree.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-tree.html new file mode 100644 index 00000000..9e64b5be --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-tree.html @@ -0,0 +1,139 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-use.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-use.html new file mode 100644 index 00000000..f8fa9c14 --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/impl/running/package-use.html @@ -0,0 +1,157 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client.impl.running | ++ |
| 类和说明 | +
|---|
| ClientRunningData
+ client running状态信息
+ |
+
| ClientRunningListener
+ 触发一下mainstem发生切换
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/package-frame.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-frame.html new file mode 100644 index 00000000..0a149bda --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-frame.html @@ -0,0 +1,25 @@ + + + + + + +| 接口 | +说明 | +
|---|---|
| CanalConnector | +
+ canal数据操作客户端
+ |
+
| CanalNodeAccessStrategy | +
+ 集群节点访问控制接口
+ |
+
| 类 | +说明 | +
|---|---|
| CanalConnectors | +
+ canal connectors创建工具类
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/package-tree.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-tree.html new file mode 100644 index 00000000..163e045f --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-tree.html @@ -0,0 +1,135 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/com/alibaba/otter/canal/client/package-use.html b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-use.html new file mode 100644 index 00000000..0ee8fb7b --- /dev/null +++ b/apidocs/1.0.13/com/alibaba/otter/canal/client/package-use.html @@ -0,0 +1,178 @@ + + + + + + +| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client | ++ |
| com.alibaba.otter.canal.client.impl | ++ |
| 类和说明 | +
|---|
| CanalConnector
+ canal数据操作客户端
+ |
+
| 类和说明 | +
|---|
| CanalConnector
+ canal数据操作客户端
+ |
+
| CanalNodeAccessStrategy
+ 集群节点访问控制接口
+ |
+
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/constant-values.html b/apidocs/1.0.13/constant-values.html new file mode 100644 index 00000000..0244a935 --- /dev/null +++ b/apidocs/1.0.13/constant-values.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/deprecated-list.html b/apidocs/1.0.13/deprecated-list.html new file mode 100644 index 00000000..bd45e377 --- /dev/null +++ b/apidocs/1.0.13/deprecated-list.html @@ -0,0 +1,117 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/index-all.html b/apidocs/1.0.13/index-all.html new file mode 100644 index 00000000..a2e97a4b --- /dev/null +++ b/apidocs/1.0.13/index-all.html @@ -0,0 +1,469 @@ + + + + + + +ack 的地方,指定回滚具体的batchIdack 的地方,下次fetch的时候,可以从最后一个没有 ack 的地方开始拿Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/index.html b/apidocs/1.0.13/index.html new file mode 100644 index 00000000..64437a14 --- /dev/null +++ b/apidocs/1.0.13/index.html @@ -0,0 +1,68 @@ + + + + + + ++ + \ No newline at end of file diff --git a/apidocs/1.0.13/overview-summary.html b/apidocs/1.0.13/overview-summary.html new file mode 100644 index 00000000..fbd74fd0 --- /dev/null +++ b/apidocs/1.0.13/overview-summary.html @@ -0,0 +1,139 @@ + + + + + + +
| 程序包 | +说明 | +
|---|---|
| com.alibaba.otter.canal.client | ++ |
| com.alibaba.otter.canal.client.impl | ++ |
| com.alibaba.otter.canal.client.impl.running | ++ |
Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/overview-tree.html b/apidocs/1.0.13/overview-tree.html new file mode 100644 index 00000000..77bdbc9f --- /dev/null +++ b/apidocs/1.0.13/overview-tree.html @@ -0,0 +1,148 @@ + + + + + + +Copyright © 2013. All rights reserved.
+ + \ No newline at end of file diff --git a/apidocs/1.0.13/package-list b/apidocs/1.0.13/package-list new file mode 100644 index 00000000..0bd99e75 --- /dev/null +++ b/apidocs/1.0.13/package-list @@ -0,0 +1,3 @@ +com.alibaba.otter.canal.client +com.alibaba.otter.canal.client.impl +com.alibaba.otter.canal.client.impl.running diff --git a/apidocs/1.0.13/resources/background.gif b/apidocs/1.0.13/resources/background.gif new file mode 100644 index 00000000..f471940f Binary files /dev/null and b/apidocs/1.0.13/resources/background.gif differ diff --git a/apidocs/1.0.13/resources/tab.gif b/apidocs/1.0.13/resources/tab.gif new file mode 100644 index 00000000..1a73a83b Binary files /dev/null and b/apidocs/1.0.13/resources/tab.gif differ diff --git a/apidocs/1.0.13/resources/titlebar.gif b/apidocs/1.0.13/resources/titlebar.gif new file mode 100644 index 00000000..17443b3e Binary files /dev/null and b/apidocs/1.0.13/resources/titlebar.gif differ diff --git a/apidocs/1.0.13/resources/titlebar_end.gif b/apidocs/1.0.13/resources/titlebar_end.gif new file mode 100644 index 00000000..3ad78d46 Binary files /dev/null and b/apidocs/1.0.13/resources/titlebar_end.gif differ diff --git a/apidocs/1.0.13/stylesheet.css b/apidocs/1.0.13/stylesheet.css new file mode 100644 index 00000000..7f1f6e73 --- /dev/null +++ b/apidocs/1.0.13/stylesheet.css @@ -0,0 +1,474 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +body { + background-color:#ffffff; + color:#353833; + font-family:Arial, Helvetica, sans-serif; + font-size:76%; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4c6b87; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4c6b87; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-size:1.3em; +} +h1 { + font-size:1.8em; +} +h2 { + font-size:1.5em; +} +h3 { + font-size:1.4em; +} +h4 { + font-size:1.3em; +} +h5 { + font-size:1.2em; +} +h6 { + font-size:1.1em; +} +ul { + list-style-type:disc; +} +code, tt { + font-size:1.2em; +} +dt code { + font-size:1.2em; +} +table tr td dt code { + font-size:1.2em; + vertical-align:top; +} +sup { + font-size:.6em; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:.8em; + z-index:200; + margin-top:-7px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + background-image:url(resources/titlebar.gif); + background-position:left top; + background-repeat:no-repeat; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:1em; + margin:0; +} +.topNav { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.bottomNav { + margin-top:10px; + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.subNav { + background-color:#dee3e9; + border-bottom:1px solid #9eadc0; + float:left; + width:100%; + overflow:hidden; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 6px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; +} +.navBarCell1Rev { + background-image:url(resources/tab.gif); + background-color:#a88834; + color:#FFFFFF; + margin: auto 5px; + border:1px solid #c9aa44; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader h1 { + font-size:1.3em; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 25px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:1.2em; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:1.0em; +} +.indexContainer h2 { + font-size:1.1em; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:1.1em; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:10px 0 10px 20px; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #9eadc0; + background-color:#f9f9f9; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:1px solid #9eadc0; + border-top:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; + border-bottom:1px solid #9eadc0; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.contentContainer table, .classUseContainer table, .constantValuesContainer table { + border-bottom:1px solid #9eadc0; + width:100%; +} +.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { + width:100%; +} +.contentContainer .description table, .contentContainer .details table { + border-bottom:none; +} +.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ + vertical-align:top; + padding-right:20px; +} +.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, +.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, +.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, +.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { + padding-right:3px; +} +.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#FFFFFF; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + margin:0px; +} +caption a:link, caption a:hover, caption a:active, caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { + width:10px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +ul.blockList ul.blockList li.blockList table { + margin:0 0 12px 0px; + width:100%; +} +.tableSubHeadingColor { + background-color: #EEEEFF; +} +.altColor { + background-color:#eeeeef; +} +.rowColor { + background-color:#ffffff; +} +.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { + text-align:left; + padding:3px 3px 3px 7px; +} +th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { + background:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + text-align:left; + padding:3px 3px 3px 7px; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +td.colFirst, th.colFirst { + border-left:1px solid #9eadc0; + white-space:nowrap; +} +td.colLast, th.colLast { + border-right:1px solid #9eadc0; +} +td.colOne, th.colOne { + border-right:1px solid #9eadc0; + border-left:1px solid #9eadc0; +} +table.overviewSummary { + padding:0px; + margin-left:0px; +} +table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, +table.overviewSummary td.colOne, table.overviewSummary th.colOne { + width:25%; + vertical-align:middle; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:25%; + vertical-align:middle; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:.9em; +} +.block { + display:block; + margin:3px 0 0 0; +} +.strong { + font-weight:bold; +} \ No newline at end of file