This topic describes tasks and provides Java™ and C# code examples that use class-related objects.
The following code example demonstrates how to find a specific ClassDescription
object in an object store:
Java Example
System.out.println("Type the symbolic name of the class description to retrieve:"); InputStreamReader converter = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(converter); String strSymbolicName = in.readLine(); // Fetch selected class description from the server ClassDescription objClassDesc = Factory.ClassDescription.fetchInstance(objObjectStore, strSymbolicName, null); System.out.println("Class description selected: " + objClassDesc.get_SymbolicName()); System.out.println(objClassDesc);
C# Example
Console.WriteLine("Type the symbolic name of the class description to retrieve:"); String strSymbolicName = Console.ReadLine(); // Fetch selected class description from the server IClassDescription objClassDesc = Factory.ClassDescription.FetchInstance(objObjectStore, strSymbolicName, null); Console.WriteLine("Class description selected: " + objClassDesc.SymbolicName); Console.WriteLine(objClassDesc); Console.WriteLine("Press any key to end"); Console.ReadLine();
The following code example demonstrates how to find a specific ClassDefinition
object in an object store:
Java Example
System.out.println("Type the symbolic name of the class definition to retrieve:"); InputStreamReader converter = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(converter); String strSymbolicName = in.readLine(); // Fetch selected class definition from the server ClassDefinition objClassDef = Factory.ClassDefinition.fetchInstance(objObjectStore, strSymbolicName, null); System.out.println("Class definition selected: " + objClassDef.get_SymbolicName()); System.out.println(objClassDef);
C# Example
Console.WriteLine("Type the symbolic name of the class definition to retrieve:"); String strSymbolicName = Console.ReadLine(); // Fetch selected class definition from the server IClassDefinition objClassDef = Factory.ClassDefinition.FetchInstance(objObjectStore, strSymbolicName, null); Console.WriteLine("Class definition selected: " + objClassDef.SymbolicName); Console.WriteLine(objClassDef); Console.WriteLine("Press any key to end"); Console.ReadLine();
The following code example demonstrates how to create a Folder
subclass, create an object instance of that class, and change the object's class:
Java Example
InputStreamReader converter = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(converter); String strSymbolicName = "Folder"; // Fetch selected class definition from the server ClassDefinition objClassDef = Factory.ClassDefinition.fetchInstance(objObjectStore, strSymbolicName, null); System.out.println("Class definition selected: " + objClassDef.get_Name()); System.out.println("Type the name to assign to the new subclass:"); String strSubclassName = in.readLine(); // Create subclass of the Folder class ClassDefinition objClassDefNew = objClassDef.createSubclass(); // Set up locale LocalizedString objLocStr = Factory.LocalizedString.createInstance(); objLocStr.set_LocalizedText(strSubclassName); objLocStr.set_LocaleName(objObjectStore.get_LocaleName()); // Create LocalizedStringList collection objClassDefNew.set_DisplayNames(Factory.LocalizedString.createList()); objClassDefNew.get_DisplayNames().add(objLocStr); // Save new class definition to the server objClassDefNew.save(RefreshMode.REFRESH); System.out.println("New class definition created: " + objClassDefNew.get_Name()); System.out.println(objClassDefNew); // Create new object instance, set its required properties, and save it to the server System.out.println("Type the FolderName property value to assign to the folder object instantiated from the new subclass:"); String strFolderName = in.readLine(); Folder objFolder = Factory.Folder.createInstance(objObjectStore, objClassDefNew.get_SymbolicName()); objFolder.set_FolderName(strFolderName); objFolder.set_Parent(objObjectStore.get_RootFolder()); objFolder.save(RefreshMode.REFRESH); System.out.println("Class of new object: " + objFolder.getClassName()); System.out.println("Name of new object: " + objFolder.get_Name()); System.out.println(objFolder); // Change the class of the folder object to the Folder class objFolder.changeClass("Folder"); objFolder.save(RefreshMode.REFRESH); System.out.println("Object's new class: " + objFolder.getClassName());
C# Example
String strSymbolicName = "Folder"; // Fetch selected class definition from the server IClassDefinition objClassDef = Factory.ClassDefinition.FetchInstance(objObjectStore, strSymbolicName, null); Console.WriteLine("Class definition selected: " + objClassDef.Name); Console.WriteLine("Type the name to assign to the new subclass:"); String strSubclassName = Console.ReadLine(); // Create subclass of the Folder class IClassDefinition objClassDefNew = objClassDef.CreateSubclass(); // Set up locale ILocalizedString objLocStr = Factory.LocalizedString.CreateInstance(); objLocStr.LocalizedText = strSubclassName; objLocStr.LocaleName = objObjectStore.LocaleName; // Create LocalizedStringList collection objClassDefNew.DisplayNames = Factory.LocalizedString.CreateList(); objClassDefNew.DisplayNames.Add(objLocStr); // Save new class definition to the server objClassDefNew.Save(RefreshMode.REFRESH); Console.WriteLine("New class definition created: " + objClassDefNew.Name); Console.WriteLine(objClassDefNew); // Create new object instance, set its required properties, and save it to the server Console.WriteLine("Type the FolderName property value to assign to a folder object instantiated from the new subclass:"); String strFolderName = Console.ReadLine(); IFolder objFolder = Factory.Folder.CreateInstance(objObjectStore, objClassDefNew.SymbolicName); objFolder.FolderName = strFolderName; objFolder.Parent = objObjectStore.RootFolder; objFolder.Save(RefreshMode.REFRESH); Console.WriteLine("Class of new object: " + objFolder.GetClassName()); Console.WriteLine("Name of new object: " + objFolder.Name); Console.WriteLine(objFolder); // Change the class of the folder object to the Folder class objFolder.ChangeClass("Folder"); objFolder.Save(RefreshMode.REFRESH); Console.WriteLine("Object's new class: " + objFolder.GetClassName()); Console.WriteLine("Press any key to end"); Console.ReadLine();