From 826e7e5d70450bd954d561024a497b4887dedfcf Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 19 Apr 2007 09:48:46 +0000
Subject: [PATCH] Fix for issue 1442.
---
opends/src/server/org/opends/server/admin/RelationDefinition.java | 163 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 132 insertions(+), 31 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/RelationDefinition.java b/opends/src/server/org/opends/server/admin/RelationDefinition.java
index 11cef9e..72e16a6 100644
--- a/opends/src/server/org/opends/server/admin/RelationDefinition.java
+++ b/opends/src/server/org/opends/server/admin/RelationDefinition.java
@@ -29,6 +29,11 @@
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+
+
/**
* Relation definitions define relationships between types of managed
* objects. In addition they define the ownership model:
@@ -86,8 +91,8 @@
/**
- * Create a new managed object relation definition with the specified name and
- * referenced managed object definition.
+ * Create a new managed object relation definition with the
+ * specified name and referenced managed object definition.
*
* @param pd
* The parent managed object definition.
@@ -96,8 +101,9 @@
* @param cd
* The child managed object definition.
*/
- protected RelationDefinition(AbstractManagedObjectDefinition<?, ?> pd,
- String name, AbstractManagedObjectDefinition<C, S> cd) {
+ protected RelationDefinition(
+ AbstractManagedObjectDefinition<?, ?> pd, String name,
+ AbstractManagedObjectDefinition<C, S> cd) {
this.name = name;
this.pd = pd;
this.cd = cd;
@@ -106,6 +112,71 @@
/**
+ * Apply a visitor to this relation definition.
+ *
+ * @param <R>
+ * The return type of the visitor's methods.
+ * @param <P>
+ * The type of the additional parameters to the visitor's
+ * methods.
+ * @param v
+ * The relation definition visitor.
+ * @param p
+ * Optional additional visitor parameter.
+ * @return Returns a result as specified by the visitor.
+ */
+ public abstract <R, P> R accept(RelationDefinitionVisitor<R, P> v, P p);
+
+
+
+ /**
+ * Get the definition of the child managed object.
+ *
+ * @return Returns the definition of the child managed object.
+ */
+ public final AbstractManagedObjectDefinition<C, S> getChildDefinition() {
+ return cd;
+ }
+
+
+
+ /**
+ * Gets the optional description of this relation definition in the
+ * default locale.
+ *
+ * @return Returns the description of this relation definition in
+ * the default locale, or <code>null</code> if there is no
+ * description.
+ */
+ public final String getDescription() {
+ return getDescription(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the optional description of this relation definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the description of this relation definition in
+ * the specified locale, or <code>null</code> if there is
+ * no description.
+ */
+ public final String getDescription(Locale locale) {
+ try {
+ String property = "relation." + name + ".description";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* Get the name of the relation.
*
* @return Returns the name of the relation.
@@ -128,12 +199,61 @@
/**
- * Get the definition of the child managed object.
+ * Gets the synopsis of this relation definition in the default
+ * locale.
*
- * @return Returns the definition of the child managed object.
+ * @return Returns the synopsis of this relation definition in the
+ * default locale.
*/
- public final AbstractManagedObjectDefinition<C, S> getChildDefinition() {
- return cd;
+ public final String getSynopsis() {
+ return getSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the synopsis of this relation definition in the specified
+ * locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of this relation definition in the
+ * specified locale.
+ */
+ public final String getSynopsis(Locale locale) {
+ String property = "relation." + name + ".synopsis";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this relation definition in the
+ * default locale.
+ *
+ * @return Returns the user friendly name of this relation
+ * definition in the default locale.
+ */
+ public final String getUserFriendlyName() {
+ return getUserFriendlyName(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this relation definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the user friendly name of this relation
+ * definition in the specified locale.
+ */
+ public final String getUserFriendlyName(Locale locale) {
+ String property = "relation." + name + ".user-friendly-name";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
}
@@ -151,31 +271,12 @@
/**
- * Append a string representation of the managed object relation to the
- * provided string builder.
+ * Append a string representation of the managed object relation to
+ * the provided string builder.
*
* @param builder
- * The string builder where the string representation should be
- * appended.
+ * The string builder where the string representation
+ * should be appended.
*/
public abstract void toString(StringBuilder builder);
-
-
-
- /**
- * Apply a visitor to this relation definition.
- *
- * @param <R>
- * The return type of the visitor's methods.
- * @param <P>
- * The type of the additional parameters to the visitor's
- * methods.
- * @param v
- * The relation definition visitor.
- * @param p
- * Optional additional visitor parameter.
- * @return Returns a result as specified by the visitor.
- */
- public abstract <R, P> R accept(RelationDefinitionVisitor<R, P> v,
- P p);
}
--
Gitblit v1.10.0