yichen
2 years ago
19 changed files with 1680 additions and 203 deletions
@ -0,0 +1,13 @@
|
||||
package com.fanruan.annotation; |
||||
|
||||
import java.lang.annotation.*; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 18:34 |
||||
*/ |
||||
@Inherited |
||||
@Target({ElementType.METHOD}) |
||||
@Retention(RetentionPolicy.RUNTIME) |
||||
public @interface LocalMethod { |
||||
} |
@ -0,0 +1,16 @@
|
||||
package com.fanruan.annotation; |
||||
|
||||
import java.lang.annotation.ElementType; |
||||
import java.lang.annotation.Retention; |
||||
import java.lang.annotation.RetentionPolicy; |
||||
import java.lang.annotation.Target; |
||||
|
||||
/** |
||||
* mark the method not implement |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 10:30 |
||||
*/ |
||||
@Target({ElementType.METHOD}) |
||||
@Retention(RetentionPolicy.RUNTIME) |
||||
public @interface NotImplemented { |
||||
} |
@ -0,0 +1,8 @@
|
||||
package com.fanruan.exception; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 10:36 |
||||
*/ |
||||
public class NotImplementedException extends RuntimeException{ |
||||
} |
@ -0,0 +1,42 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.LocalMethod; |
||||
|
||||
import java.util.Properties; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/25 16:56 |
||||
*/ |
||||
public abstract class AbstractBind{ |
||||
|
||||
private String ID; |
||||
|
||||
protected Properties info; |
||||
|
||||
/** |
||||
* These corresponding code is to make the format correct, because the getID() |
||||
* will be called, even if the filed is never not null. |
||||
* @return ID |
||||
*/ |
||||
public String getID(){ |
||||
return this.ID; |
||||
} |
||||
|
||||
/** |
||||
* These corresponding code is to make the format correct, because the getID() |
||||
* will be called, even if the filed is never not null. |
||||
* @return ID |
||||
*/ |
||||
public void setID(String ID){ |
||||
this.ID = ID; |
||||
} |
||||
|
||||
/** |
||||
* Set info to bind class generated by this class
|
||||
* @param info properties need to bind with agent |
||||
*/ |
||||
public void setInfo(Properties info){ |
||||
this.info = info; |
||||
} |
||||
} |
@ -0,0 +1,61 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.LocalMethod; |
||||
import com.fanruan.service.jdbc.AbstractBind; |
||||
|
||||
import java.util.Properties; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 20:35 |
||||
*/ |
||||
public class BasedBind extends AbstractBind { |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public String getID() { |
||||
return super.getID(); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public void setID(String ID) { |
||||
super.setID(ID); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public void setInfo(Properties info) { |
||||
super.setInfo(info); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public int hashCode() { |
||||
return super.hashCode(); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public boolean equals(Object obj) { |
||||
return super.equals(obj); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
protected Object clone() throws CloneNotSupportedException { |
||||
return super.clone(); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
public String toString() { |
||||
return super.toString(); |
||||
} |
||||
|
||||
@LocalMethod |
||||
@Override |
||||
protected void finalize() throws Throwable { |
||||
super.finalize(); |
||||
} |
||||
} |
@ -0,0 +1,71 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.RemoteClass; |
||||
|
||||
import java.sql.Array; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 16:51 |
||||
*/ |
||||
@RemoteClass(remoteClassName = "com.fanruan.agent.jdbc.AgentArray") |
||||
public class ServiceArray extends BasedBind implements Array { |
||||
|
||||
@Override |
||||
public String getBaseTypeName() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public int getBaseType() throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public Object getArray() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Object getArray(Map<String, Class<?>> map) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Object getArray(long index, int count) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Object getArray(long index, int count, Map<String, Class<?>> map) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ResultSet getResultSet() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ResultSet getResultSet(Map<String, Class<?>> map) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ResultSet getResultSet(long index, int count) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ResultSet getResultSet(long index, int count, Map<String, Class<?>> map) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void free() throws SQLException { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,73 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.RemoteClass; |
||||
import com.fanruan.service.jdbc.AbstractBind; |
||||
|
||||
import java.io.InputStream; |
||||
import java.io.OutputStream; |
||||
import java.sql.Blob; |
||||
import java.sql.SQLException; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/29 20:32 |
||||
*/ |
||||
|
||||
@RemoteClass(remoteClassName = "com.fanruan.agent.jdbc.AgentBlob") |
||||
public class ServiceBlob extends BasedBind implements Blob { |
||||
|
||||
@Override |
||||
public long length() throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public byte[] getBytes(long pos, int length) throws SQLException { |
||||
return new byte[0]; |
||||
} |
||||
|
||||
@Override |
||||
public InputStream getBinaryStream() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public long position(byte[] pattern, long start) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public long position(Blob pattern, long start) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int setBytes(long pos, byte[] bytes) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public OutputStream setBinaryStream(long pos) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void truncate(long len) throws SQLException { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void free() throws SQLException { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public InputStream getBinaryStream(long pos, long length) throws SQLException { |
||||
return null; |
||||
} |
||||
} |
@ -0,0 +1,83 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.RemoteClass; |
||||
|
||||
import java.io.InputStream; |
||||
import java.io.OutputStream; |
||||
import java.io.Reader; |
||||
import java.io.Writer; |
||||
import java.sql.Clob; |
||||
import java.sql.SQLException; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/29 20:24 |
||||
*/ |
||||
@RemoteClass(remoteClassName = "com.fanruan.agent.jdbc.AgentClob") |
||||
public class ServiceClob extends BasedBind implements Clob { |
||||
|
||||
@Override |
||||
public long length() throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public String getSubString(long pos, int length) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Reader getCharacterStream() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public InputStream getAsciiStream() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public long position(String searchstr, long start) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public long position(Clob searchstr, long start) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int setString(long pos, String str) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int setString(long pos, String str, int offset, int len) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public OutputStream setAsciiStream(long pos) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Writer setCharacterStream(long pos) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void truncate(long len) throws SQLException { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void free() throws SQLException { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public Reader getCharacterStream(long pos, long length) throws SQLException { |
||||
return null; |
||||
} |
||||
} |
@ -0,0 +1,69 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.RemoteClass; |
||||
|
||||
import java.sql.ParameterMetaData; |
||||
import java.sql.SQLException; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/25 11:13 |
||||
*/ |
||||
@RemoteClass(remoteClassName = "com.fanruan.agent.jdbc.AgentParameterMetaData") |
||||
public class ServiceParameterMetaData extends BasedBind implements ParameterMetaData { |
||||
|
||||
@Override |
||||
public int getParameterCount() throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int isNullable(int param) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public boolean isSigned(int param) throws SQLException { |
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public int getPrecision(int param) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int getScale(int param) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public int getParameterType(int param) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public String getParameterTypeName(int param) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public String getParameterClassName(int param) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public int getParameterMode(int param) throws SQLException { |
||||
return 0; |
||||
} |
||||
|
||||
@Override |
||||
public <T> T unwrap(Class<T> iface) throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public boolean isWrapperFor(Class<?> iface) throws SQLException { |
||||
return false; |
||||
} |
||||
} |
@ -0,0 +1,29 @@
|
||||
package com.fanruan.service.jdbc; |
||||
|
||||
import com.fanruan.annotation.RemoteClass; |
||||
|
||||
import java.sql.SQLException; |
||||
import java.sql.Struct; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author Yichen Dai |
||||
* @date 2022/8/31 17:03 |
||||
*/ |
||||
@RemoteClass(remoteClassName = "com.fanruan.agent.jdbc.AgentStruct") |
||||
public class ServiceStruct extends BasedBind implements Struct { |
||||
@Override |
||||
public String getSQLTypeName() throws SQLException { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Object[] getAttributes() throws SQLException { |
||||
return new Object[0]; |
||||
} |
||||
|
||||
@Override |
||||
public Object[] getAttributes(Map<String, Class<?>> map) throws SQLException { |
||||
return new Object[0]; |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue