package org.infinispan.server.core.security.simple; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.security.Principal; import java.security.acl.Group; import java.util.Enumeration; import org.infinispan.commons.marshall.SerializeWith; /** * SimpleGroupPrincipal. * * @author Tristan Tarrant * @since 7.0 */ @SerializeWith(SimpleGroupPrincipal.Externalizer.class) public class SimpleGroupPrincipal implements Group { final String name; public SimpleGroupPrincipal(String name) { this.name = name; } @Override public String getName() { return name; } @Override public boolean addMember(Principal user) { throw new UnsupportedOperationException(); } @Override public boolean removeMember(Principal user) { throw new UnsupportedOperationException(); } @Override public boolean isMember(Principal member) { throw new UnsupportedOperationException(); } @Override public Enumeration<? extends Principal> members() { throw new UnsupportedOperationException(); } @Override public String toString() { return "SimpleGroupPrincipal [name=" + name + "]"; } public static class Externalizer implements org.infinispan.commons.marshall.Externalizer<SimpleGroupPrincipal> { @Override public void writeObject(ObjectOutput output, SimpleGroupPrincipal object) throws IOException { output.writeUTF(object.name); } @Override public SimpleGroupPrincipal readObject(ObjectInput input) throws IOException, ClassNotFoundException { return new SimpleGroupPrincipal(input.readUTF()); } } }