モジュール java.management
パッケージ javax.management

「クラス」クエリー

java.lang.Object
javax.management.Query

public class Query extends Object

クエリー・オブジェクト制約を構築します。

MBeanサーバーでqueryNamesまたはqueryMBeansメソッドを使用して、特定の条件を満たすMBeanを照会できます。 メソッドのQueryExpパラメータをインタフェースQueryExpのどの実装でもかまいませんが、通常はこのクラスのstaticメソッドを呼び出してQueryExp値を取得することをお勧めします。 このことは、次のようにリモートMBeanサーバーを照会する場合に特にあてはまります: QueryExpインタフェースのカスタム実装がリモートMBeanサーバーに存在しないかもしれないのに、このクラスのメソッドが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

      public Query()
      基本的なコンストラクタです。
  • メソッドの詳細

    • and

      public static QueryExp and(QueryExp q1, QueryExp q2)
      2つのほかのクエリー式を結合した1つのクエリー式を返します。
      パラメータ:
      q1 - クエリー式。
      q2 - もう1つのクエリー式。
      戻り値:
      2つの引数を結合したもの。 返されるオブジェクトは、非publicクラスjavax.management.AndQueryExpのインスタンスとして直列化される。
    • or

      public static QueryExp or(QueryExp q1, QueryExp q2)
      2つのほかのクエリー式を分離した1つのクエリー式を返します。
      パラメータ:
      q1 - クエリー式。
      q2 - もう1つのクエリー式。
      戻り値:
      2つの引数を分離したもの。 返されるオブジェクトは、非publicクラスjavax.management.OrQueryExpのインスタンスとして直列化される。
    • gt

      public static QueryExp gt(ValueExp v1, ValueExp v2)
      2つの値の「大なり」制約を表すクエリー式を返します。
      パラメータ:
      v1 - 値式。
      v2 - もう1つの値式。
      戻り値:
      引数の「大なり」制約。 返されるオブジェクトは、relOpGTが等しい非publicクラスjavax.management.BinaryRelQueryExpのインスタンスとして直列化される。
    • geq

      public static QueryExp geq(ValueExp v1, ValueExp v2)
      2つの値の「大なりまたは等価」制約を表すクエリー式を返します。
      パラメータ:
      v1 - 値式。
      v2 - もう1つの値式。
      戻り値:
      引数の「大なりまたは等価」制約。 返されるオブジェクトは、relOpGEが等しい非publicクラスjavax.management.BinaryRelQueryExpのインスタンスとして直列化される。
    • leq

      public static QueryExp leq(ValueExp v1, ValueExp v2)
      2つの値の「小なりまたは等価」制約を表すクエリー式を返します。
      パラメータ:
      v1 - 値式。
      v2 - もう1つの値式。
      戻り値:
      引数の「小なりまたは等価」制約。 返されるオブジェクトは、relOpLEが等しい非publicクラスjavax.management.BinaryRelQueryExpのインスタンスとして直列化される。
    • lt

      public static QueryExp lt(ValueExp v1, ValueExp v2)
      2つの値の「小なり」制約を表すクエリー式を返します。
      パラメータ:
      v1 - 値式。
      v2 - もう1つの値式。
      戻り値:
      引数の「小なり」制約。 返されるオブジェクトは、relOpLTが等しい非publicクラスjavax.management.BinaryRelQueryExpのインスタンスとして直列化される。
    • eq

      public static QueryExp eq(ValueExp v1, ValueExp v2)
      2つの値の等価制約を表すクエリー式を返します。
      パラメータ:
      v1 - 値式。
      v2 - もう1つの値式。
      戻り値:
      引数の「等価」制約。 返されるオブジェクトは、relOpEQが等しい非publicクラスjavax.management.BinaryRelQueryExpのインスタンスとして直列化される。
    • between

      public static QueryExp between(ValueExp v1, ValueExp v2, ValueExp v3)
      2つの値の間の1つの値の制約を表すクエリー式を返します。
      パラメータ:
      v1 - v2とv3の「間」の値式。
      v2 - 制約の境界を表す値式。
      v3 - 制約の境界を表す値式。
      戻り値:
      v1をv2とv3の中間に配置する制約。 返されるオブジェクトは、非publicクラスjavax.management.BetweenQueryExpのインスタンスとして直列化される。
    • match

      public static QueryExp match(AttributeValueExp a, StringValueExp s)
      文字列引数のマッチング制約を表すクエリー式を返します。 マッチングの構文はファイル・グロッビング(生成)に準拠しており、円記号「\」でエスケープされた疑問符「?」、アスタリスク「*」、角カッコ「[」をサポートします。文字クラスでは、否定を意味する感嘆符「!」、範囲を意味するハイフン「-」を使用できます。アスタリスク*は任意の文字シーケンス、疑問符?は任意の1文字、[...]は文字シーケンスを意味します。 たとえば、a*b?cは、文字aで始まり、任意の文字列の後、b、その次に任意の単一文字、最後にcが続く文字列に一致します。
      パラメータ:
      a - 属性式。
      s - マッチング制約を表す文字列値式。
      戻り値:
      文字列引数のマッチング制約を表すクエリー式。 返されるオブジェクトは、非publicクラス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の属性式。 返されるオブジェクトは、非publicクラスjavax.management.QualifiedAttributeValueExpのインスタンスとして直列化される。
    • classattr

      public static AttributeValueExp classattr()

      ValueExpを取得するQuery呼出しで使用可能な新しいクラス属性式を返します。

      指定のobjectNameについて、この式を評価します。評価の一環として、MBeanServer.getObjectInstance(objectName)が実行されます。

      戻り値:
      クラス属性式。 返されるオブジェクトは、非publicクラスjavax.management.ClassAttributeValueExpのインスタンスとして直列化される。
    • not

      public static QueryExp not(QueryExp queryExp)
      引数の否定になっている制約を返します。
      パラメータ:
      queryExp - 否定する制約。
      戻り値:
      否定された制約。 返されるオブジェクトは、非publicクラスjavax.management.NotQueryExpのインスタンスとして直列化される。
    • in

      public static QueryExp in(ValueExp val, ValueExp[] valueList)
      明示リストのいずれかの値に制約を課す式を返します。
      パラメータ:
      val - 制約を課される値。
      valueList - ValueExpの配列。
      戻り値:
      制約を表すQueryExp。 返されるオブジェクトは、非publicクラスjavax.management.InQueryExpのインスタンスとして直列化される。
    • value

      public static StringValueExp value(String val)
      新しい文字列式を返します。
      パラメータ:
      val - 文字列値。
      戻り値:
      文字列引数を含むValueExpオブジェクト。
    • value

      public static ValueExp value(Number val)
      ValueExpを取得するQuery呼出しで使用可能な数値式を返します。
      パラメータ:
      val - Numberのインスタンス。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.NumericValueExpのインスタンスとして直列化される。
    • value

      public static ValueExp value(int val)
      ValueExpを取得するQuery呼出しで使用可能な数値式を返します。
      パラメータ:
      val - int値。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.NumericValueExpのインスタンスとして直列化される。
    • value

      public static ValueExp value(long val)
      ValueExpを取得するQuery呼出しで使用可能な数値式を返します。
      パラメータ:
      val - long値。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.NumericValueExpのインスタンスとして直列化される。
    • value

      public static ValueExp value(float val)
      ValueExpを取得するQuery呼出しで使用可能な数値式を返します。
      パラメータ:
      val - float値。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.NumericValueExpのインスタンスとして直列化される。
    • value

      public static ValueExp value(double val)
      ValueExpを取得するQuery呼出しで使用可能な数値式を返します。
      パラメータ:
      val - double値。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.NumericValueExpのインスタンスとして直列化される。
    • value

      public static ValueExp value(boolean val)
      ValueExpを取得するQuery呼出しで使用可能なブール値の式を返します。
      パラメータ:
      val - boolean値。
      戻り値:
      引数を含むValueExpオブジェクト。 返されるオブジェクトは、非publicクラスjavax.management.BooleanValueExpのインスタンスとして直列化される。
    • plus

      public static ValueExp plus(ValueExp value1, ValueExp value2)
      2つの数値の和、または2つの文字列値の連結を表すバイナリ式を返します。
      パラメータ:
      value1 - 最初の「+」オペランド。
      value2 - 2番目の「+」オペランド。
      戻り値:
      2つの引数の和または連結を表すValueExp。 返されるオブジェクトは、opPLUSが等しい非publicクラスjavax.management.BinaryOpValueExpのインスタンスとして直列化される。
    • times

      public static ValueExp times(ValueExp value1, ValueExp value2)
      2つの数値の積を表すバイナリ式を返します。
      パラメータ:
      value1 - 最初の「*」オペランド。
      value2 - 2番目の「*」オペランド。
      戻り値:
      積を表すValueExp。 返されるオブジェクトは、opTIMESが等しい非publicクラスjavax.management.BinaryOpValueExpのインスタンスとして直列化される。
    • minus

      public static ValueExp minus(ValueExp value1, ValueExp value2)
      2つの数値の差を表すバイナリ式を返します。
      パラメータ:
      value1 - 最初の「-」オペランド。
      value2 - 2番目の「-」オペランド。
      戻り値:
      2つの引数の差を表すValueExp。 返されるオブジェクトは、opMINUSが等しい非publicクラスjavax.management.BinaryOpValueExpのインスタンスとして直列化される。
    • div

      public static ValueExp div(ValueExp value1, ValueExp value2)
      2つの数値の商を表すバイナリ式を返します。
      パラメータ:
      value1 - 最初の「/」オペランド。
      value2 - 2番目の「/」オペランド。
      戻り値:
      2つの引数の商を表すValueExp。 返されるオブジェクトは、opDIVが等しい非publicクラスjavax.management.BinaryOpValueExpのインスタンスとして直列化される。
    • initialSubString

      public static QueryExp initialSubString(AttributeValueExp a, StringValueExp s)
      文字列引数のマッチング制約を表すクエリー式を返します。 値は、指定のリテラル文字列値で開始します。
      パラメータ:
      a - 属性式。
      s - 文字列値の開始を表す文字列値式。
      戻り値:
      sに一致する制約。 返されるオブジェクトは、非publicクラスjavax.management.MatchQueryExpのインスタンスとして直列化される。
    • anySubString

      public static QueryExp anySubString(AttributeValueExp a, StringValueExp s)
      文字列引数のマッチング制約を表すクエリー式を返します。 値には、指定のリテラル文字列値が含まれていなければいけません。
      パラメータ:
      a - 属性式。
      s - サブ文字列を表す文字列値式。
      戻り値:
      sに一致する制約。 返されるオブジェクトは、非publicクラスjavax.management.MatchQueryExpのインスタンスとして直列化される。
    • finalSubString

      public static QueryExp finalSubString(AttributeValueExp a, StringValueExp s)
      文字列引数のマッチング制約を表すクエリー式を返します。 値は、指定のリテラル文字列値で終了します。
      パラメータ:
      a - 属性式。
      s - 文字列値の終了を表す文字列値式。
      戻り値:
      sに一致する制約。 返されるオブジェクトは、非publicクラス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 - 選択したMBeanがインスタンスであるクラスの名前を返すStringValueExp
      戻り値:
      MBeanクラスに対する継承制約を表すクエリー式。 返されるオブジェクトは、非publicクラスjavax.management.InstanceOfQueryExpのインスタンスとして直列化される。
      導入されたバージョン:
      1.6