jimu-decompiled/sources/com/thoughtworks/xstream/converters/extended/SubjectConverter.java
2025-05-13 19:24:51 +02:00

105 lines
5.0 KiB
Java

package com.thoughtworks.xstream.converters.extended;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import com.thoughtworks.xstream.mapper.Mapper;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import javax.security.auth.Subject;
/* loaded from: classes.dex */
public class SubjectConverter extends AbstractCollectionConverter {
static /* synthetic */ Class class$javax$security$auth$Subject;
public SubjectConverter(Mapper mapper) {
super(mapper);
}
static /* synthetic */ Class class$(String str) {
try {
return Class.forName(str);
} catch (ClassNotFoundException e) {
throw new NoClassDefFoundError().initCause(e);
}
}
@Override // com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter, com.thoughtworks.xstream.converters.ConverterMatcher
public boolean canConvert(Class cls) {
Class cls2 = class$javax$security$auth$Subject;
if (cls2 == null) {
cls2 = class$("javax.security.auth.Subject");
class$javax$security$auth$Subject = cls2;
}
return cls == cls2;
}
@Override // com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter, com.thoughtworks.xstream.converters.Converter
public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
Subject subject = (Subject) obj;
marshalPrincipals(subject.getPrincipals(), hierarchicalStreamWriter, marshallingContext);
marshalPublicCredentials(subject.getPublicCredentials(), hierarchicalStreamWriter, marshallingContext);
marshalPrivateCredentials(subject.getPrivateCredentials(), hierarchicalStreamWriter, marshallingContext);
marshalReadOnly(subject.isReadOnly(), hierarchicalStreamWriter);
}
protected void marshalPrincipals(Set set, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
hierarchicalStreamWriter.startNode("principals");
Iterator it = set.iterator();
while (it.hasNext()) {
writeCompleteItem(it.next(), marshallingContext, hierarchicalStreamWriter);
}
hierarchicalStreamWriter.endNode();
}
protected void marshalPrivateCredentials(Set set, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
}
protected void marshalPublicCredentials(Set set, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
}
protected void marshalReadOnly(boolean z, HierarchicalStreamWriter hierarchicalStreamWriter) {
hierarchicalStreamWriter.startNode("readOnly");
hierarchicalStreamWriter.setValue(String.valueOf(z));
hierarchicalStreamWriter.endNode();
}
protected Set populateSet(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
HashSet hashSet = new HashSet();
hierarchicalStreamReader.moveDown();
while (hierarchicalStreamReader.hasMoreChildren()) {
hashSet.add(readCompleteItem(hierarchicalStreamReader, unmarshallingContext, hashSet));
}
hierarchicalStreamReader.moveUp();
return hashSet;
}
@Override // com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter, com.thoughtworks.xstream.converters.Converter
public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
return new Subject(unmarshalReadOnly(hierarchicalStreamReader), unmarshalPrincipals(hierarchicalStreamReader, unmarshallingContext), unmarshalPublicCredentials(hierarchicalStreamReader, unmarshallingContext), unmarshalPrivateCredentials(hierarchicalStreamReader, unmarshallingContext));
}
protected Set unmarshalPrincipals(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
return populateSet(hierarchicalStreamReader, unmarshallingContext);
}
protected Set unmarshalPrivateCredentials(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
return Collections.EMPTY_SET;
}
protected Set unmarshalPublicCredentials(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
return Collections.EMPTY_SET;
}
protected boolean unmarshalReadOnly(HierarchicalStreamReader hierarchicalStreamReader) {
hierarchicalStreamReader.moveDown();
boolean z = Boolean.getBoolean(hierarchicalStreamReader.getValue());
hierarchicalStreamReader.moveUp();
return z;
}
}