⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 query.java

📁 SANCHO
💻 JAVA
字号:
/* * Copyright (C) 2004-2005 Rutger M. Ovidius for use with the sancho project. * See LICENSE.txt for license information. */package sancho.model.mldonkey.utility;import java.util.ArrayList;import java.util.List;import sancho.core.ICore;import sancho.model.mldonkey.enums.EnumQuery;public class Query {  private ICore core;  private EnumQuery enumQuery;  // ANDNOT|MODULE  private Query query1;  private Query query2;  // AND|OR|HIDDEN  private List queryList;  private String string1;  private String string2;  public Query(ICore core) {    this.queryList = new ArrayList();    this.core = core;  }  public void addQuery(Query query) {    this.queryList.add(query);  }  public int queryListSize() {    return this.queryList.size();  }  public void addQueryToList(List list, Query query) {    Object[] oArray = query.toObjectArray();    for (int i = 0; i < oArray.length; i++)      list.add(oArray[i]);  }  public Query createQuery() {    return UtilityFactory.getQuery(core);  }  public EnumQuery getEnumQuery() {    return enumQuery;  }  public Query[] getQueryList() {    Query[] queryArray = new Query[queryList.size()];    queryList.toArray(queryArray);    return queryArray;  }  //guiEncoding#buf_query  public void read(MessageBuffer messageBuffer) {    this.enumQuery = EnumQuery.byteToEnum(messageBuffer.getByte());    if (enumQuery == EnumQuery.AND || enumQuery == EnumQuery.OR || enumQuery == EnumQuery.HIDDEN) {      int len = messageBuffer.getUInt16();      Query query;      for (int i = 0; i < len; i++) {        query = createQuery();        query.read(messageBuffer);        queryList.add(query);      }    } else if (enumQuery == EnumQuery.ANDNOT) {      query1 = createQuery();      query1.read(messageBuffer);      query2 = createQuery();      query2.read(messageBuffer);    } else if (enumQuery == EnumQuery.MODULE) {      string1 = messageBuffer.getString();      query1 = createQuery();      query1.read(messageBuffer);    } else {      string1 = messageBuffer.getString();      string2 = messageBuffer.getString();    }  }  public void setEnumQuery(EnumQuery enumQuery) {    this.enumQuery = enumQuery;  }  public void setQuery1(Query query) {    this.query1 = query;  }  public void setQuery2(Query query) {    this.query2 = query;  }  public void setString1(String string) {    this.string1 = string;  }  public void setString2(String string) {    this.string2 = string;  }  public Object[] toObjectArray() {    List arrayList = new ArrayList();    arrayList.add(new Byte((enumQuery.getByteValue())));    if (enumQuery == EnumQuery.AND || enumQuery == EnumQuery.OR || enumQuery == EnumQuery.HIDDEN) {      arrayList.add(new Short((short) queryList.size()));      for (int i = 0; i < queryList.size(); i++)        addQueryToList(arrayList, (Query) queryList.get(i));    } else if (enumQuery == EnumQuery.ANDNOT) {      addQueryToList(arrayList, query1);      addQueryToList(arrayList, query2);    } else if (enumQuery == EnumQuery.MODULE) {      arrayList.add(string1);      addQueryToList(arrayList, query1);    } else {      arrayList.add(string1);      arrayList.add(string2);    }    return arrayList.toArray();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -