- java.lang.Object
-
- javax.management.Query
-
public class Query extends Object
构造查询对象约束。
可以使用
queryNames
或queryMBeans
方法查询满足特定条件的MBean的MBean Server。 该方法的QueryExp
参数可以是接口QueryExp
任何实现,但通常最好通过调用此类中的静态方法来获取QueryExp
值。 查询远程MBean Server时尤其如此:远程MBean Server中可能不存在QueryExp
接口的自定义实现,但此类中的方法仅返回属于JMX实现的标准类。例如,假设您要查找
Enabled
属性为true
且Owner
属性为"Duke"
所有MBean。 以下是通过将方法调用链接在一起来构建适当的QueryExp
的方法:QueryExp query = Query.and(Query.eq(Query.attr("Enabled"), Query.value(true)), Query.eq(Query.attr("Owner"), Query.value("Duke")));
- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 构造器 描述 Query()
基本构造函数。
-
方法摘要
所有方法 静态方法 具体的方法 变量和类型 方法 描述 static QueryExp
and(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是另外两个查询表达式的组合。static QueryExp
anySubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。static AttributeValueExp
attr(String name)
返回一个新的属性表达式。static AttributeValueExp
attr(String className, String name)
返回新的限定属性表达式。static QueryExp
between(ValueExp v1, ValueExp v2, ValueExp v3)
返回一个查询表达式,表示一个值介于两个其他值之间的约束。static AttributeValueExp
classattr()
返回一个新的类属性表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
div(ValueExp value1, ValueExp value2)
返回表示两个数值的商的二进制表达式。static QueryExp
eq(ValueExp v1, ValueExp v2)
返回表示两个值上的相等约束的查询表达式。static QueryExp
finalSubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。static QueryExp
geq(ValueExp v1, ValueExp v2)
返回表示两个值上的“大于或等于”约束的查询表达式。static QueryExp
gt(ValueExp v1, ValueExp v2)
返回表示两个值上的“大于”约束的查询表达式。static QueryExp
in(ValueExp val, ValueExp[] valueList)
返回将值约束为显式列表之一的表达式。static QueryExp
initialSubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。static QueryExp
isInstanceOf(StringValueExp classNameValue)
返回表示MBean类的继承约束的查询表达式。static QueryExp
leq(ValueExp v1, ValueExp v2)
返回表示两个值上的“小于或等于”约束的查询表达式。static QueryExp
lt(ValueExp v1, ValueExp v2)
返回表示两个值上的“小于”约束的查询表达式。static QueryExp
match(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。static ValueExp
minus(ValueExp value1, ValueExp value2)
返回表示两个数值之间差异的二进制表达式。static QueryExp
not(QueryExp queryExp)
返回一个约束,该约束是其参数的否定。static QueryExp
or(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是另外两个查询表达式的析取。static ValueExp
plus(ValueExp value1, ValueExp value2)
返回表示两个数值之和或两个字符串值的串联的二进制表达式。static ValueExp
times(ValueExp value1, ValueExp value2)
返回表示两个数值的乘积的二进制表达式。static ValueExp
value(boolean val)
返回一个布尔值表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
value(double val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
value(float val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
value(int val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
value(long val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。static ValueExp
value(Number val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。static StringValueExp
value(String val)
返回新的字符串表达式。
-
-
-
字段详细信息
-
GT
public static final int GT
代表gt(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
LT
public static final int LT
代表lt(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
GE
public static final int GE
表示geq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
LE
public static final int LE
表示leq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
EQ
public static final int EQ
代表eq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
PLUS
public static final int PLUS
代表plus(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
MINUS
public static final int MINUS
代表minus(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
TIMES
public static final int TIMES
表示times(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
DIV
public static final int DIV
表示div(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣。- 另请参见:
- 常数字段值
-
-
方法详细信息
-
and
public static QueryExp and(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是另外两个查询表达式的组合。- 参数
-
q1
- 查询表达式。 -
q2
- 另一个查询表达式。 - 结果
- 两个参数的结合。 返回的对象将被序列化为非公共类javax.management.AndQueryExp的实例。
-
or
public static QueryExp or(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是另外两个查询表达式的析取。- 参数
-
q1
- 查询表达式。 -
q2
- 另一个查询表达式。 - 结果
- 两个论点的脱节。 返回的对象将被序列化为非公共类javax.management.OrQueryExp的实例。
-
gt
public static QueryExp gt(ValueExp v1, ValueExp v2)
返回表示两个值上的“大于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
参数的“大于”约束。
返回的对象将被序列化为非公共类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于GT
。
-
geq
public static QueryExp geq(ValueExp v1, ValueExp v2)
返回表示两个值上的“大于或等于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
参数的“大于或等于”约束。
返回的对象将被序列化为非公共类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于GE
。
-
leq
public static QueryExp leq(ValueExp v1, ValueExp v2)
返回表示两个值上的“小于或等于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
参数的“小于或等于”约束。
返回的对象将被序列化为非公共类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于LE
。
-
lt
public static QueryExp lt(ValueExp v1, ValueExp v2)
返回表示两个值上的“小于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“小于”约束。
返回的对象将被序列化为非公共类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于LT
。
-
eq
public static QueryExp eq(ValueExp v1, ValueExp v2)
返回表示两个值上的相等约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
参数的“等于”约束。
返回的对象将被序列化为非公共类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于EQ
。
-
between
public static QueryExp between(ValueExp v1, ValueExp v2, ValueExp v3)
返回一个查询表达式,表示一个值介于两个其他值之间的约束。- 参数
-
v1
- “v2”和“v3”之间的值表达式。 -
v2
- 表示约束边界的值表达式。 -
v3
- 表示约束边界的值表达式。 - 结果
- v1位于v2和v3之间的约束。 返回的对象将被序列化为非公共类javax.management.BetweenQueryExp的实例。
-
match
public static QueryExp match(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。 匹配语法与文件?
一致:支持“?
”,“*
”,“[
”,每个都可以使用“\
”进行转义; 字符类可以使用“!
”表示否定,使用“-
”作为范围。 (*
任意字符序列,?
单个任意字符,[...]
用于字符序列)。 例如:a*b?c
将匹配以字符a
开头的字符串,后跟任意数量的字符,后跟b
,任何单个字符和c
。- 参数
-
a
- 属性表达式 -
s
- 表示匹配约束的字符串值表达式 - 结果
- 一个查询表达式,表示字符串参数的匹配约束。 返回的对象将被序列化为非公共类javax.management.MatchQueryExp的实例。
-
attr
public static AttributeValueExp attr(String name)
返回一个新的属性表达式。 有关表达式语义的详细说明,请参见
AttributeValueExp
。为给定的
objectName
评估此表达式包括执行MBeanServer.getAttribute(objectName, name)
。- 参数
-
name
- 属性的名称。 - 结果
-
名为
name
的属性的属性表达式。
-
attr
public static AttributeValueExp attr(String className, String name)
返回新的限定属性表达式。
评估给定
objectName
该表达式包括执行MBeanServer.getObjectInstance(objectName)
和MBeanServer.getAttribute(objectName, name)
。- 参数
-
className
- 拥有该属性的类的名称。 -
name
- 属性的名称。 - 结果
- 名为name的属性的属性表达式。 返回的对象将被序列化为非公共类javax.management.QualifiedAttributeValueExp的实例。
-
classattr
public static AttributeValueExp classattr()
返回一个新的类属性表达式,可以在任何需要ValueExp的Query调用中使用。
为给定的
objectName
评估此表达式包括执行MBeanServer.getObjectInstance(objectName)
。- 结果
- 类属性表达式。 返回的对象将被序列化为非公共类javax.management.ClassAttributeValueExp的实例。
-
not
public static QueryExp not(QueryExp queryExp)
返回一个约束,该约束是其参数的否定。- 参数
-
queryExp
- 否定的约束。 - 结果
- 否定的约束。 返回的对象将被序列化为非公共类javax.management.NotQueryExp的实例。
-
in
public static QueryExp in(ValueExp val, ValueExp[] valueList)
返回将值约束为显式列表之一的表达式。- 参数
-
val
- 要约束的值。 -
valueList
- ValueExps数组。 - 结果
- 一个表示约束的QueryExp。 返回的对象将被序列化为非公共类javax.management.InQueryExp的实例。
-
value
public static StringValueExp value(String val)
返回新的字符串表达式。- 参数
-
val
- 字符串值。 - 结果
- 包含字符串参数的ValueExp对象。
-
value
public static ValueExp value(Number val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- 数字的实例。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(int val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- int值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(long val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- 长值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(float val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- 浮点值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(double val)
返回一个数值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- 双val
值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(boolean val)
返回一个布尔值表达式,可以在任何需要ValueExp的Query调用中使用。- 参数
-
val
- 布尔值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公共类javax.management.BooleanValueExp的实例。
-
plus
public static ValueExp plus(ValueExp value1, ValueExp value2)
返回表示两个数值之和或两个字符串值的串联的二进制表达式。- 参数
-
value1
- 第一个'+'操作数。 -
value2
- 第二个'+'操作数。 - 结果
-
ValueExp,表示两个参数的总和或串联。
返回的对象将被序列化为非公共类javax.management.BinaryOpValueExp的实例,其中
op
等于PLUS
。
-
times
public static ValueExp times(ValueExp value1, ValueExp value2)
返回表示两个数值的乘积的二进制表达式。- 参数
-
value1
- 第一个'*'操作数。 -
value2
- 第二个'*'操作数。 - 结果
-
表示产品的ValueExp。
返回的对象将被序列化为非公共类javax.management.BinaryOpValueExp的实例,其中
op
等于TIMES
。
-
minus
public static ValueExp minus(ValueExp value1, ValueExp value2)
返回表示两个数值之间差异的二进制表达式。- 参数
-
value1
- 第一个' - '操作数。 -
value2
- 第二个' - '操作数。 - 结果
-
ValueExp表示两个参数之间的差异。
返回的对象将被序列化为非公共类javax.management.BinaryOpValueExp的实例,其中
op
等于MINUS
。
-
div
public static ValueExp div(ValueExp value1, ValueExp value2)
返回表示两个数值的商的二进制表达式。- 参数
-
value1
- 第一个'/'操作数。 -
value2
- 第二个'/'操作数。 - 结果
-
表示两个参数的商的ValueExp。
返回的对象将被序列化为非公共类javax.management.BinaryOpValueExp的实例,其中
op
等于DIV
。
-
initialSubString
public static QueryExp initialSubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。 该值必须以给定的文字字符串值开头。- 参数
-
a
- 属性表达式。 -
s
- 表示字符串值开头的字符串值表达式。 - 结果
- 匹配s的约束。 返回的对象将被序列化为非公共类javax.management.MatchQueryExp的实例。
-
anySubString
public static QueryExp anySubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。 该值必须包含给定的文字字符串值。- 参数
-
a
- 属性表达式。 -
s
- 表示子字符串的字符串值表达式。 - 结果
- 匹配s的约束。 返回的对象将被序列化为非公共类javax.management.MatchQueryExp的实例。
-
finalSubString
public static QueryExp finalSubString(AttributeValueExp a, StringValueExp s)
返回表示字符串参数的匹配约束的查询表达式。 该值必须以给定的文字字符串值结尾。- 参数
-
a
- 属性表达式。 -
s
- 表示字符串值结尾的字符串值表达式。 - 结果
- 匹配s的约束。 返回的对象将被序列化为非公共类javax.management.MatchQueryExp的实例。
-
isInstanceOf
public static QueryExp isInstanceOf(StringValueExp classNameValue)
返回表示MBean类的继承约束的查询表达式。示例:要查找作为
NotificationBroadcaster
实例的MBean ,请使用Query.isInstanceOf(Query.value(NotificationBroadcaster.class.getName()))
。评估给定
objectName
该表达式包括执行MBeanServer.isInstanceOf(objectName, ((StringValueExp)classNameValue.apply(objectName)).getValue()
。- 参数
-
classNameValue
-StringValueExp
返回所选MBean的类的名称应为实例。 - 结果
- 一个表示MBean类的继承约束的查询表达式。 返回的对象将被序列化为非公共类javax.management.InstanceOfQueryExp的实例。
- 从以下版本开始:
- 1.6
-
-