Product Documentation

アプリケーション属性の使用

Jul 08, 2016

アプリケーション属性を使用して、AppDNA内のアプリケーションにユーザー定義の値を割り当てます。 これは、AppDNAを意思決定ツールとして使用する場合に役立ちます。 たとえば、アプリケーションがその所有者およびメールアドレスを定義する属性を持つとします。 アプリケーションのインポートと分析が終わったら、レポート値からメールを生成してアプリケーションの所有者に送信し、次の行動を指示することができます。

アプリケーション属性には2つの重要な要素があります。

  1. ApplicationAttributeDefinition。 これによりアプリケーションに割り当てられる値の種類が定義されます。名前、説明、そのほかのプロパティが含まれます。
  2. 各アプリケーションに割り当てられる、属性定義の

したがって、アプリケーション属性はアプリケーションをApplicationAttributeDefinitionと、値と共にリンクします。

ApplicationAttributeDefinitionの作成

Server.ApplicationAttributeDefinitionから戻されるオブジェクトを使用して、ApplicationAttributeDefinitionを作成します。 次に例を示します。

using AppDNA = Citrix.SDK.AppDNA; AppDNA.Server appdna; appdna = login.AppDNAServer;  AppDNA.ApplicationAttributeDefinition definition      = appdna.ApplicationAttributeDefinition.CreateStringDefinition("ApplicationOwner",          "Application Owner",          false,          AppDNA.AttributeDefinitionVisibilities.ShowInAppList,          0);

同様に、以下のように既存の定義を取得します。

definition = appdna.ApplicationAttributeDefinition.Get("ApplicationOwner");

値の設定と取得

Applicationオブジェクトを使用してApplicationAttributeDefinitionに値を割り当てます。 次に例を示します。

AppDNA.ApplicationAttribute SetAttributeValue(AppDNA.Application app, AppDNA.ApplicationAttributeDefinition definition, string value) {     return app.SetAttribute(definition.Identifier, value); }

Applicationクラスのプロパティを使用して、そのアプリケーションに設定されているアプリケーション属性のコレクションを取得します。

注:Application.Attributesプロパティには、アプリケーションに値を設定するために使用される定義に対するアプリケーション属性オブジェクトのみが含まれます。未使用のオブジェクトは含まれません。

ApplicationAttributeから、値とApplicationAttributeDefinitionを取得できます。 次に例を示します。

void PrintApplicationAttributes(AppDNA.Application app) {     foreach (var attribute in app.Attributes)     {         string valueString = string.Empty;         if (attribute.IsNull)             valueString = "";         else         {             switch (attribute.Definition.DataType)             {                 case AppDNA.AttributeDefinitionDataType.Boolean:                     valueString = attribute.BooleanValue.ToString();                     break;                  case AppDNA.AttributeDefinitionDataType.DateTime:                     valueString = attribute.DateTimeValue.ToString();                     break;                  case AppDNA.AttributeDefinitionDataType.Numeric:                     valueString = attribute.NumericValue.ToString();                     break;                  case AppDNA.AttributeDefinitionDataType.Rag:                     valueString = attribute.RagValue.ToString();                     break;                  case AppDNA.AttributeDefinitionDataType.String:                 case AppDNA.AttributeDefinitionDataType.StringList:                     valueString = attribute.StringValue;                     break;             }         }         Console.WriteLine(attribute.Definition.Name + " : " + valueString);     } }