Skip to content
Snippets Groups Projects
Commit a1cedfd0 authored by Abhinav Anurag's avatar Abhinav Anurag
Browse files

Add: Interface

parent 8184c901
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
......@@ -2,7 +2,7 @@ import java.util.List;
import java.util.ArrayList;
//Society Class to represent a university society
public class Society {
public class Society implements SocietyInterface {
private String name;
private String description;
......@@ -14,28 +14,35 @@ public class Society {
this.members = new ArrayList<>();
addMember(initialMembers);
}
@Override
public String getName(){
return name;
}
@Override
public String getDescription() {
return description;
}
@Override
public List<Member> getMembers() {
return members;
}
//Add member to the society
@Override
public void addMember(Member member){
members.add(member);
}
//Remove member by Student Id if found
@Override
public void removeMember(String studentId){
members.removeIf(m -> m.getStudentId().equals(studentId));
}
@Override
public String toString(){
//Print society details with member list
StringBuilder details = new StringBuilder("Society: " + name + "\n Description: " + description + "\n Members: \n");
......
......@@ -3,7 +3,7 @@ import java.util.Scanner;
//SocietyApplication Class to manage user interaction in the Command Line Interface
public class SocietyApplication {
private SocietyManager societyManager;
private SocietyManagerInterface societyManager;
private Scanner scanner;
public SocietyApplication(){
......@@ -55,7 +55,7 @@ public class SocietyApplication {
//Lists all societies by their name
private void listSocieties() {
System.out.println("\n ------List of all Societies------");
for(Society society: societyManager.getAllSocieties()){
for(SocietyInterface society: societyManager.getAllSocieties()){
System.out.println(" - " + society.getName());
}
System.out.println("------------------------------------");
......@@ -66,7 +66,7 @@ public class SocietyApplication {
private void viewSociety() {
System.out.print("\n Enter society name: ");
String name = scanner.nextLine();
Society society = societyManager.findSociety(name);
SocietyInterface society = societyManager.findSociety(name);
if (society != null) {
System.out.println("\n ---Society Details---");
System.out.println(society);
......@@ -81,7 +81,7 @@ public class SocietyApplication {
private void addMember() {
System.out.print("\n Enter society name: ");
String societyName = scanner.nextLine();
Society society = societyManager.findSociety(societyName);
SocietyInterface society = societyManager.findSociety(societyName);
if (society != null) {
System.out.print("Enter member name: ");
String name = scanner.nextLine();
......
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public interface SocietyInterface {
String getName();
String getDescription();
List<Member> getMembers();
void addMember(Member member);
void removeMember(String studentId);
}
......@@ -2,8 +2,8 @@ import java.util.ArrayList;
import java.util.List;
//SocietyManager Class to handle society operations
public class SocietyManager {
private List<Society> societies;
public class SocietyManager implements SocietyManagerInterface{
private List<SocietyInterface> societies;
public SocietyManager(){
societies = new ArrayList<>();
......@@ -12,12 +12,14 @@ public class SocietyManager {
societies.add(new Society("Coding Club", "A club for coders", new Member("John","002")));
}
public List<Society> getAllSocieties(){
@Override
public List<SocietyInterface> getAllSocieties(){
return societies;
}
public Society findSociety(String name){
for (Society society : societies){
@Override
public SocietyInterface findSociety(String name){
for (SocietyInterface society : societies){
if(society.getName().equalsIgnoreCase(name)){
return society;
}
......@@ -25,9 +27,13 @@ public class SocietyManager {
//If no society is found return null
return null;
}
public void addSociety(Society society){
@Override
public void addSociety(SocietyInterface society){
societies.add(society);
}
@Override
public void removeSociety(String name){
societies.removeIf(s -> s.getName().equalsIgnoreCase(name));
}
......
import java.util.List;
public interface SocietyManagerInterface {
List<SocietyInterface> getAllSocieties();
SocietyInterface findSociety(String name);
void addSociety(SocietyInterface society);
void removeSociety(String name);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment