The following Java™ and C# code examples demonstrate operations 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();