首页

【系统设计】通过定义抽象Data类接口可以所有应用场景的数据结构化模型

标签:数据结构,接口设计,数据类型,系统设计,抽象结构模型,源码     发布时间:2017-11-07   

一、前言

下面通过定义Data抽象数据结构模型接口类,无论从数据结构本身复杂性、数据类型多样性、数据输入输出等方面可以覆盖各种常规应用场景。

二、代码展示

public abstract interface Data<E> extends Externalizable, DataFactory<Data>, Composite<E>@b@{@b@  public static final String DATA = "data";@b@  public static final String IN = "in";@b@  public static final String OUT = "out";@b@  public static final String INOUT = "inout";@b@@b@  public abstract DataList<E> getList();@b@@b@  public abstract <T> List<T> getTypedList(Class<T> paramClass);@b@@b@  public abstract DataBean getBean();@b@@b@  public abstract void setBean(DataBean paramDataBean);@b@@b@  public abstract String getId();@b@@b@  public abstract void setId(String paramString);@b@@b@  public abstract String getMode();@b@@b@  public abstract void setMode(String paramString);@b@@b@  public abstract String getType();@b@@b@  public abstract void setType(String paramString);@b@@b@  public abstract DataType<E> getDataType();@b@@b@  public abstract DataType<E> setDataType(DataType<E> paramDataType);@b@@b@  public abstract Data<E> getRoot();@b@@b@  public abstract Data<E> getParent();@b@@b@  public abstract Data<E> getPrevious();@b@@b@  public abstract Data<E> getNext();@b@@b@  public abstract Data<E> getChild();@b@@b@  public abstract Data<E> setChild(Component<E> paramComponent);@b@@b@  public abstract Data<E> appendChild(Component<E> paramComponent);@b@@b@  public abstract Data<E> removeChild(Component<E> paramComponent);@b@@b@  public abstract Data<E> replaceChild(Component<E> paramComponent1, Component<E> paramComponent2);@b@@b@  public abstract Data<E> insertChild(Component<E> paramComponent1, Component<E> paramComponent2);@b@@b@  public abstract Data<E> getChild(int paramInt);@b@@b@  public abstract Data<E> setChild(int paramInt, Component<E> paramComponent);@b@@b@  public abstract Data<E> insertChild(Component<E> paramComponent, int paramInt);@b@@b@  public abstract Data<E> removeChild(int paramInt);@b@@b@  public abstract Data<E> firstChild();@b@@b@  public abstract Data<E> lastChild();@b@@b@  public abstract List<? extends Data<E>> getChildren();@b@@b@  public abstract List<? extends Data<E>> setChildren(List<? extends Component<E>> paramList);@b@@b@  public abstract List<? extends Data<E>> appendChildren(List<? extends Component<E>> paramList);@b@@b@  public abstract List<? extends Data<E>> removeChildren(List<? extends Component<E>> paramList);@b@@b@  public abstract List<? extends Data<E>> replaceChildren(List<? extends Component<E>> paramList, Component<E> paramComponent);@b@@b@  public abstract List<? extends Data<E>> insertChildren(List<? extends Component<E>> paramList, Component<E> paramComponent);@b@@b@  public abstract List<? extends Data<E>> removeChildren();@b@@b@  public abstract Data<E> getChild(Object paramObject);@b@@b@  public abstract Data<E> setChild(Object paramObject, Component<E> paramComponent);@b@@b@  public abstract List<? extends Data<E>> getChildren(Object paramObject);@b@@b@  public abstract List<? extends Data<E>> setChildren(Object paramObject, List<? extends Component<E>> paramList);@b@@b@  public abstract List<? extends Data<E>> removeChildren(Object paramObject);@b@@b@  public abstract Serializable getSerializable();@b@@b@  public abstract Data<E> setSerializable(Serializable paramSerializable);@b@@b@  public abstract Serializable getSerializable(Map paramMap);@b@@b@  public abstract Data<E> setSerializable(Serializable paramSerializable, Map paramMap);@b@@b@  public abstract OutputStream getSerializable(OutputStream paramOutputStream);@b@@b@  public abstract Data<E> setSerializable(InputStream paramInputStream);@b@@b@  public abstract OutputStream getSerializable(OutputStream paramOutputStream, Map paramMap);@b@@b@  public abstract Data<E> setSerializable(InputStream paramInputStream, Map paramMap);@b@@b@  public abstract Data<E> clone();@b@@b@  public abstract Data<E> clone(boolean paramBoolean);@b@@b@  public abstract <T> T getTypedObject(Class<T> paramClass);@b@@b@  public abstract <T> T getTypedObject(Class<T> paramClass, T paramT);@b@@b@  public abstract <T> void setTypedObject(T paramT, Class<T> paramClass);@b@@b@  public abstract <T> T getTypedObject(Object paramObject, Class<T> paramClass);@b@@b@  public abstract <T> T getTypedObject(Object paramObject, Class<T> paramClass, T paramT);@b@@b@  public abstract <T> void setTypedObject(Object paramObject, T paramT, Class<T> paramClass);@b@@b@  public abstract <T> T getTypedObject(int paramInt, Class<T> paramClass);@b@@b@  public abstract <T> T getTypedObject(int paramInt, Class<T> paramClass, T paramT);@b@@b@  public abstract <T> void setTypedObject(int paramInt, T paramT, Class<T> paramClass);@b@@b@  public abstract String getString();@b@@b@  public abstract void setString(String paramString);@b@@b@  public abstract String getString(Object paramObject);@b@@b@  public abstract void setString(Object paramObject, String paramString);@b@@b@  public abstract String getString(int paramInt);@b@@b@  public abstract void setString(int paramInt, String paramString);@b@@b@  public abstract Date getDate();@b@@b@  public abstract void setDate(Date paramDate);@b@@b@  public abstract Date getDate(Object paramObject);@b@@b@  public abstract void setDate(Object paramObject, Date paramDate);@b@@b@  public abstract Date getDate(int paramInt);@b@@b@  public abstract void setDate(int paramInt, Date paramDate);@b@@b@  public abstract Boolean getBoolean();@b@@b@  public abstract void setBoolean(Boolean paramBoolean);@b@@b@  public abstract Boolean getBoolean(Object paramObject);@b@@b@  public abstract void setBoolean(Object paramObject, Boolean paramBoolean);@b@@b@  public abstract Boolean getBoolean(int paramInt);@b@@b@  public abstract void setBoolean(int paramInt, Boolean paramBoolean);@b@@b@  public abstract Number getNumber();@b@@b@  public abstract void setNumber(Number paramNumber);@b@@b@  public abstract Number getNumber(Object paramObject);@b@@b@  public abstract void setNumber(Object paramObject, Number paramNumber);@b@@b@  public abstract Number getNumber(int paramInt);@b@@b@  public abstract void setNumber(int paramInt, Number paramNumber);@b@@b@  public abstract Integer getInteger();@b@@b@  public abstract void setInteger(Integer paramInteger);@b@@b@  public abstract Integer getInteger(Object paramObject);@b@@b@  public abstract void setInteger(Object paramObject, Integer paramInteger);@b@@b@  public abstract Integer getInteger(int paramInt);@b@@b@  public abstract void setInteger(int paramInt, Integer paramInteger);@b@@b@  public abstract Long getLong();@b@@b@  public abstract void setLong(Long paramLong);@b@@b@  public abstract Long getLong(Object paramObject);@b@@b@  public abstract void setLong(Object paramObject, Long paramLong);@b@@b@  public abstract Long getLong(int paramInt);@b@@b@  public abstract void setLong(int paramInt, Long paramLong);@b@@b@  public abstract Short getShort();@b@@b@  public abstract void setShort(Short paramShort);@b@@b@  public abstract Short getShort(Object paramObject);@b@@b@  public abstract void setShort(Object paramObject, Short paramShort);@b@@b@  public abstract Short getShort(int paramInt);@b@@b@  public abstract void setShort(int paramInt, Short paramShort);@b@@b@  public abstract Double getDouble();@b@@b@  public abstract void setDouble(Double paramDouble);@b@@b@  public abstract Double getDouble(Object paramObject);@b@@b@  public abstract void setDouble(Object paramObject, Double paramDouble);@b@@b@  public abstract Double getDouble(int paramInt);@b@@b@  public abstract void setDouble(int paramInt, Double paramDouble);@b@@b@  public abstract Float getFloat();@b@@b@  public abstract void setFloat(Float paramFloat);@b@@b@  public abstract Float getFloat(Object paramObject);@b@@b@  public abstract void setFloat(Object paramObject, Float paramFloat);@b@@b@  public abstract Float getFloat(int paramInt);@b@@b@  public abstract void setFloat(int paramInt, Float paramFloat);@b@}
<<热门下载>>