gluu
公開メンバ関数 | 静的公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 関数 | 変数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.ws.rs.scim2.SchemaWebService クラス
org.gluu.oxtrust.ws.rs.scim2.SchemaWebService の継承関係図
Inheritance graph
org.gluu.oxtrust.ws.rs.scim2.SchemaWebService 連携図
Collaboration graph

公開メンバ関数

Response serve ()
 
Response getSchemaById (@PathParam("schemaUrn") String urn)
 
void setup ()
 
String getEndpointUrl ()
 

静的公開メンバ関数

static Response getErrorResponse (Response.Status status, String detail)
 
static Response getErrorResponse (Response.Status status, ErrorScimType scimType, String detail)
 
static Response getErrorResponse (int statusCode, ErrorScimType scimType, String detail)
 

静的公開変数類

static final String SEARCH_SUFFIX = ".search"
 

限定公開メンバ関数

void assignMetaInformation (BaseScimResource resource)
 
void executeDefaultValidation (BaseScimResource resource) throws SCIMException
 
void executeValidation (BaseScimResource resource, boolean skipRequired) throws SCIMException
 
Response prepareSearchRequest (List< String > schemas, String filter, String sortBy, String sortOrder, Integer startIndex, Integer count, String attrsList, String excludedAttrsList, SearchRequest request)
 
Response inspectPatchRequest (PatchRequest patch, Class<? extends BaseScimResource > cls)
 

関数

int getMaxCount ()
 
String getValueFromHeaders (HttpHeaders headers, String name)
 
String translateSortByAttribute (Class<? extends BaseScimResource > cls, String sortBy)
 
String getListResponseSerialized (int total, int startIndex, List< BaseScimResource > resources, String attrsList, String excludedAttrsList, boolean ignoreResults) throws IOException
 

変数

Logger log
 
AppConfiguration appConfiguration
 
ScimResourceSerializer resourceSerializer
 
ExtensionService extService
 
String endpointUrl
 

非公開メンバ関数

SchemaResource getSchemaInstance (Class<? extends BaseScimResource > clazz) throws Exception
 
SchemaResource getSchemaInstance (Class<? extends BaseScimResource > clazz, String urn) throws Exception
 

非公開変数類

Map< String, Class<? extends BaseScimResource > > resourceSchemas
 

詳解

Web service for the /Schemas endpoint.

著者
Val Pecaoco Re-engineered by jgomer on 2017-09-27.

関数詳解

◆ assignMetaInformation()

void org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.assignMetaInformation ( BaseScimResource  resource)
inlineprotectedinherited
102  {
103 
104  //Generate some meta information (this replaces the info client passed in the request)
105  long now=new Date().getTime();
106  String val= ISODateTimeFormat.dateTime().withZoneUTC().print(now);
107 
108  Meta meta=new Meta();
109  meta.setResourceType(ScimResourceUtil.getType(resource.getClass()));
110  meta.setCreated(val);
111  meta.setLastModified(val);
112  //For version attritute: Service provider support for this attribute is optional and subject to the service provider's support for versioning
113  //For location attribute: this will be set after current user creation in LDAP
114  resource.setMeta(meta);
115 
116  }

◆ executeDefaultValidation()

void org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.executeDefaultValidation ( BaseScimResource  resource) throws SCIMException
inlineprotectedinherited
118  {
119  executeValidation(resource, false);
120  }
void executeValidation(BaseScimResource resource, boolean skipRequired)
Definition: BaseScimWebService.java:122

◆ executeValidation()

void org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.executeValidation ( BaseScimResource  resource,
boolean  skipRequired 
) throws SCIMException
inlineprotectedinherited
122  {
123 
124  ResourceValidator rv=new ResourceValidator(resource, extService.getResourceExtensions(resource.getClass()));
125  if (!skipRequired){
126  rv.validateRequiredAttributes();
127  rv.validateSchemasAttribute();
128  }
129  rv.validateValidableAttributes();
130  //By section 7 of RFC 7643, we are not forced to constrain attribute values when they have a list of canonical values associated
131  //rv.validateCanonicalizedAttributes();
132  rv.validateExtendedAttributes();
133 
134  }
List< Extension > getResourceExtensions(Class<? extends BaseScimResource > cls)
Definition: ExtensionService.java:46
ExtensionService extService
Definition: BaseScimWebService.java:65

◆ getEndpointUrl()

String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getEndpointUrl ( )
inlineinherited
71  {
72  return endpointUrl;
73  }
String endpointUrl
Definition: BaseScimWebService.java:69

◆ getErrorResponse() [1/3]

static Response org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getErrorResponse ( Response.Status  status,
String  detail 
)
inlinestaticinherited
75  {
76  return getErrorResponse(status.getStatusCode(), null, detail);
77  }
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75

◆ getErrorResponse() [2/3]

static Response org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getErrorResponse ( Response.Status  status,
ErrorScimType  scimType,
String  detail 
)
inlinestaticinherited
79  {
80  return getErrorResponse(status.getStatusCode(), scimType, detail);
81  }
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75

◆ getErrorResponse() [3/3]

static Response org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getErrorResponse ( int  statusCode,
ErrorScimType  scimType,
String  detail 
)
inlinestaticinherited
83  {
84 
85  ErrorResponse errorResponse = new ErrorResponse();
86  errorResponse.setStatus(String.valueOf(statusCode));
87  errorResponse.setScimType(scimType);
88  errorResponse.setDetail(detail);
89 
90  return Response.status(statusCode).entity(errorResponse).build();
91  }

◆ getListResponseSerialized()

String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getListResponseSerialized ( int  total,
int  startIndex,
List< BaseScimResource resources,
String  attrsList,
String  excludedAttrsList,
boolean  ignoreResults 
) throws IOException
inlinepackageinherited
203  {
204 
205  ListResponse listResponse = new ListResponse(startIndex, resources.size(), total);
206  listResponse.setResources(resources);
207 
208  ObjectMapper mapper = new ObjectMapper();
209  SimpleModule module = new SimpleModule("ListResponseModule", Version.unknownVersion());
210  module.addSerializer(ListResponse.class, new ListResponseJsonSerializer(resourceSerializer, attrsList, excludedAttrsList, ignoreResults));
211  mapper.registerModule(module);
212 
213  return mapper.writeValueAsString(listResponse);
214 
215  }
ScimResourceSerializer resourceSerializer
Definition: BaseScimWebService.java:62

◆ getMaxCount()

int org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getMaxCount ( )
inlinepackageinherited
93  {
94  return appConfiguration.getScimProperties().getMaxCount();
95  }
AppConfiguration appConfiguration
Definition: BaseScimWebService.java:59

◆ getSchemaById()

Response org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.getSchemaById ( @PathParam("schemaUrn") String  urn)
inline
92  {
93 
94  Response response;
95  try {
96  Class<? extends BaseScimResource> cls = resourceSchemas.get(urn);
97 
98  if (cls==null){
99  log.info("Schema urn {} not recognized", urn);
100  response=Response.status(Response.Status.NOT_FOUND).build();
101  }
102  else {
103  String json=resourceSerializer.serialize(getSchemaInstance(cls, urn));
104  URI location = new URI(endpointUrl + "/" + urn);
105  response = Response.ok(json).location(location).build();
106  }
107  }
108  catch (Exception e){
109  log.error("Failure at getSchemaById method", e);
110  response=getErrorResponse(Response.Status.INTERNAL_SERVER_ERROR, "Unexpected error: " + e.getMessage());
111  }
112  return response;
113  }
ScimResourceSerializer resourceSerializer
Definition: BaseScimWebService.java:62
String serialize(BaseScimResource resource, String attributes, String exclusions)
Definition: ScimResourceSerializer.java:203
String endpointUrl
Definition: BaseScimWebService.java:69
Logger log
Definition: BaseScimWebService.java:56
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75
Map< String, Class<? extends BaseScimResource > > resourceSchemas
Definition: SchemaWebService.java:61
SchemaResource getSchemaInstance(Class<? extends BaseScimResource > clazz)
Definition: SchemaWebService.java:135

◆ getSchemaInstance() [1/2]

SchemaResource org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.getSchemaInstance ( Class<? extends BaseScimResource clazz) throws Exception
inlineprivate
135  {
136 
137  SchemaResource resource;
138  Class<? extends BaseScimResource> schemaCls=SchemaResource.class;
139  Schema annotation=ScimResourceUtil.getSchemaAnnotation(clazz);
140  if (!clazz.equals(schemaCls) && annotation!=null){
141 
142  Meta meta=new Meta();
143  meta.setResourceType(ScimResourceUtil.getType(schemaCls));
144  meta.setLocation(endpointUrl + "/" + annotation.id());
145 
146  resource=new SchemaResource();
147  resource.setId(annotation.id());
148  resource.setName(annotation.name());
149  resource.setDescription(annotation.description());
150  resource.setMeta(meta);
151 
152  List<SchemaAttribute> attribs=new ArrayList<SchemaAttribute>();
153  //paths are, happily alphabetically sorted :)
154  for (String path : IntrospectUtil.allAttrs.get(clazz)){
155  SchemaAttribute schAttr=new SchemaAttribute();
156  Field f=IntrospectUtil.findFieldFromPath(clazz, path);
157 
158  Attribute attrAnnot=f.getAnnotation(Attribute.class);
159  if (attrAnnot!=null) {
160  JsonProperty jsonAnnot=f.getAnnotation(JsonProperty.class);
161 
162  schAttr.setName(jsonAnnot==null ? f.getName() : jsonAnnot.value());
163  schAttr.setType(attrAnnot.type().getName());
164  schAttr.setMultiValued(!attrAnnot.multiValueClass().equals(NullType.class) || IntrospectUtil.isCollection(f.getType()));
165  schAttr.setDescription(attrAnnot.description());
166  schAttr.setRequired(attrAnnot.isRequired());
167 
168  schAttr.setCanonicalValues(attrAnnot.canonicalValues().length==0 ? null : Arrays.asList(attrAnnot.canonicalValues()));
169  schAttr.setCaseExact(attrAnnot.isCaseExact());
170  schAttr.setMutability(attrAnnot.mutability().getName());
171  schAttr.setReturned(attrAnnot.returned().getName());
172  schAttr.setUniqueness(attrAnnot.uniqueness().getName());
173  schAttr.setReferenceTypes(attrAnnot.referenceTypes().length==0 ? null : Arrays.asList(attrAnnot.referenceTypes()));
174 
175  if (attrAnnot.type().equals(AttributeDefinition.Type.COMPLEX))
176  schAttr.setSubAttributes(new ArrayList<SchemaAttribute>());
177 
178  List<SchemaAttribute> list=attribs; //root list
179  String parts[]=path.split("\\.");
180 
181  for (int i=0;i<parts.length-1;i++) { //skip last part (real attribute name)
182  int j = list.indexOf(new SchemaAttribute(parts[i]));
183  list = list.get(j).getSubAttributes();
184  }
185 
186  list.add(schAttr);
187  }
188  }
189  resource.setAttributes(attribs);
190  }
191  else
192  resource=null;
193 
194  return resource;
195  }
String endpointUrl
Definition: BaseScimWebService.java:69

◆ getSchemaInstance() [2/2]

SchemaResource org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.getSchemaInstance ( Class<? extends BaseScimResource clazz,
String  urn 
) throws Exception
inlineprivate
197  {
198 
199  if (ScimResourceUtil.getDefaultSchemaUrn(clazz).equals(urn))
200  return getSchemaInstance(clazz); //Process core attributes
201  else{ //process extension attributes
202  SchemaResource resource=null;
203  Class<? extends BaseScimResource> schemaCls=SchemaResource.class;
204 
205  //Find the appropriate extension
206  List<Extension> extensions=extService.getResourceExtensions(clazz);
207  for (Extension extension : extensions) {
208  if (extension.getUrn().equals(urn)) {
209 
210  Meta meta = new Meta();
211  meta.setResourceType(ScimResourceUtil.getType(schemaCls));
212  meta.setLocation(endpointUrl + "/" + urn);
213 
214  resource = new SchemaResource();
215  resource.setId(urn);
216  resource.setName(extension.getName());
217  resource.setDescription(extension.getDescription());
218  resource.setMeta(meta);
219 
220  List<SchemaAttribute> attribs = new ArrayList<SchemaAttribute>();
221 
222  for (ExtensionField field : extension.getFields().values()) {
223  SchemaAttribute schAttr = new SchemaAttribute();
224 
225  schAttr.setName(field.getName());
226  schAttr.setMultiValued(field.isMultiValued());
227  schAttr.setDescription(field.getDescription());
228  schAttr.setRequired(false);
229 
230  schAttr.setCanonicalValues(null);
231  schAttr.setCaseExact(false);
232  schAttr.setMutability(AttributeDefinition.Mutability.READ_WRITE.getName());
233  schAttr.setReturned(AttributeDefinition.Returned.DEFAULT.getName());
234  schAttr.setUniqueness(AttributeDefinition.Uniqueness.NONE.getName());
235  schAttr.setReferenceTypes(null);
236 
237  AttributeDefinition.Type type = field.getAttributeDefinitionType();
238  schAttr.setType(type==null ? null : type.getName());
239  schAttr.setSubAttributes(null);
240 
241  attribs.add(schAttr);
242  }
243 
244  resource.setAttributes(attribs);
245  break;
246  }
247  }
248  return resource;
249  }
250  }
String endpointUrl
Definition: BaseScimWebService.java:69
List< Extension > getResourceExtensions(Class<? extends BaseScimResource > cls)
Definition: ExtensionService.java:46
ExtensionService extService
Definition: BaseScimWebService.java:65
SchemaResource getSchemaInstance(Class<? extends BaseScimResource > clazz)
Definition: SchemaWebService.java:135

◆ getValueFromHeaders()

String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.getValueFromHeaders ( HttpHeaders  headers,
String  name 
)
inlinepackageinherited
97  {
98  List<String> values=headers.getRequestHeaders().get(name);
99  return (values==null || values.size()==0) ? null : values.get(0);
100  }

◆ inspectPatchRequest()

Response org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.inspectPatchRequest ( PatchRequest  patch,
Class<? extends BaseScimResource cls 
)
inlineprotectedinherited
217  {
218 
219  Response response=null;
220  List<String> schemas=patch.getSchemas();
221 
222  if (schemas!=null && schemas.size()==1 && schemas.get(0).equals(PATCH_REQUEST_SCHEMA_ID)) {
223  List<PatchOperation> ops = patch.getOperations();
224 
225  if (ops != null) {
226  //Adjust paths if they came prefixed
227 
228  String defSchema=ScimResourceUtil.getDefaultSchemaUrn(cls);
229  List<String> urns=extService.getUrnsOfExtensions(cls);
230  urns.add(defSchema);
231 
232  for (PatchOperation op : ops){
233  if (op.getPath()!=null)
234  op.setPath(ScimResourceUtil.adjustNotationInPath(op.getPath(), defSchema, urns));
235  }
236 
237  for (PatchOperation op : ops) {
238 
239  if (op.getType() == null)
240  response = getErrorResponse(BAD_REQUEST, ErrorScimType.INVALID_SYNTAX, "Operation '" + op.getOperation() + "' not recognized");
241  else {
242  String path = op.getPath();
243 
244  if (StringUtils.isEmpty(path) && op.getType().equals(PatchOperationType.REMOVE))
245  response = getErrorResponse(BAD_REQUEST, ErrorScimType.NO_TARGET, "Path attribute is required for remove operation");
246  else
247  if (op.getValue() == null && !op.getType().equals(PatchOperationType.REMOVE))
248  response = getErrorResponse(BAD_REQUEST, ErrorScimType.INVALID_SYNTAX, "Value attribute is required for operations other than remove");
249  }
250  if (response != null)
251  break;
252  }
253  }
254  else
255  response = getErrorResponse(BAD_REQUEST, ErrorScimType.INVALID_SYNTAX, "Patch request MUST contain the attribute 'Operations'");
256  }
257  else
258  response = getErrorResponse(BAD_REQUEST, ErrorScimType.INVALID_SYNTAX, "Wrong schema(s) supplied in Search Request");
259 
260  log.info("inspectPatchRequest. Preprocessing of patch request {}", response==null ? "passed" : "failed");
261  return response;
262 
263  }
Logger log
Definition: BaseScimWebService.java:56
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75
ExtensionService extService
Definition: BaseScimWebService.java:65
List< String > getUrnsOfExtensions(Class<? extends BaseScimResource > cls)
Definition: ExtensionService.java:86

◆ prepareSearchRequest()

Response org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.prepareSearchRequest ( List< String >  schemas,
String  filter,
String  sortBy,
String  sortOrder,
Integer  startIndex,
Integer  count,
String  attrsList,
String  excludedAttrsList,
SearchRequest  request 
)
inlineprotectedinherited
167  {
168 
169  Response response=null;
170 
171  if (schemas!=null && schemas.size()==1 && schemas.get(0).equals(SEARCH_REQUEST_SCHEMA_ID)) {
172  count = count == null ? getMaxCount() : count;
173  //Per spec, a negative value SHALL be interpreted as "0" for count
174  if (count<0)
175  count=0;
176 
177  if (count <= getMaxCount()) {
178  startIndex = (startIndex == null || startIndex < 1) ? 1 : startIndex;
179 
180  if (StringUtils.isEmpty(sortOrder) || !sortOrder.equals(SortOrder.DESCENDING.getValue()))
181  sortOrder = SortOrder.ASCENDING.getValue();
182 
183  request.setSchemas(schemas);
184  request.setAttributes(attrsList);
185  request.setExcludedAttributes(excludedAttrsList);
186  request.setFilter(filter);
187  request.setSortBy(sortBy);
188  request.setSortOrder(sortOrder);
189  request.setStartIndex(startIndex);
190  request.setCount(count);
191  }
192  else
193  response = getErrorResponse(BAD_REQUEST, ErrorScimType.TOO_MANY, "Maximum number of results per page is " + getMaxCount());
194  }
195  else
196  response = getErrorResponse(BAD_REQUEST, ErrorScimType.INVALID_SYNTAX, "Wrong schema(s) supplied in Search Request");
197 
198  return response;
199 
200  }
int getMaxCount()
Definition: BaseScimWebService.java:93
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75

◆ serve()

Response org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.serve ( )
inline
67  {
68 
69  Response response;
70  try {
71  int total = resourceSchemas.size();
72  ListResponse listResponse = new ListResponse(1, total, total);
73 
74  for (String urn : resourceSchemas.keySet()){
75  listResponse.addResource(getSchemaInstance(resourceSchemas.get(urn), urn));
76  }
77  String json=resourceSerializer.getListResponseMapper().writeValueAsString(listResponse);
78  response=Response.ok(json).location(new URI(endpointUrl)).build();
79  }
80  catch (Exception e){
81  log.error("Failure at serve method", e);
82  response=getErrorResponse(Response.Status.INTERNAL_SERVER_ERROR, "Unexpected error: " + e.getMessage());
83  }
84  return response;
85  }
ScimResourceSerializer resourceSerializer
Definition: BaseScimWebService.java:62
String endpointUrl
Definition: BaseScimWebService.java:69
Logger log
Definition: BaseScimWebService.java:56
static Response getErrorResponse(Response.Status status, String detail)
Definition: BaseScimWebService.java:75
Map< String, Class<? extends BaseScimResource > > resourceSchemas
Definition: SchemaWebService.java:61
SchemaResource getSchemaInstance(Class<? extends BaseScimResource > clazz)
Definition: SchemaWebService.java:135
ObjectMapper getListResponseMapper()
Definition: ScimResourceSerializer.java:226

◆ setup()

void org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.setup ( )
inline
116  {
117  //Do not use getClass() here... a typical weld issue...
118  endpointUrl = appConfiguration.getBaseEndpoint() + SchemaWebService.class.getAnnotation(Path.class).value();
119 
120  List<Class<? extends BaseScimResource>> excludedResources=Arrays.asList(SchemaResource.class, ResourceType.class, ServiceProviderConfig.class);
121  resourceSchemas=new HashMap<String, Class<? extends BaseScimResource>>();
122 
123  //Fill map with urn vs. resource
124  for (Class<? extends BaseScimResource> cls : IntrospectUtil.allAttrs.keySet()){
125  if (!excludedResources.contains(cls)) {
126  resourceSchemas.put(ScimResourceUtil.getDefaultSchemaUrn(cls), cls);
127 
128  for (Extension extension : extService.getResourceExtensions(cls))
129  resourceSchemas.put(extension.getUrn(), cls);
130  }
131  }
132 
133  }
String endpointUrl
Definition: BaseScimWebService.java:69
List< Extension > getResourceExtensions(Class<? extends BaseScimResource > cls)
Definition: ExtensionService.java:46
ExtensionService extService
Definition: BaseScimWebService.java:65
Map< String, Class<? extends BaseScimResource > > resourceSchemas
Definition: SchemaWebService.java:61
AppConfiguration appConfiguration
Definition: BaseScimWebService.java:59

◆ translateSortByAttribute()

String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.translateSortByAttribute ( Class<? extends BaseScimResource cls,
String  sortBy 
)
inlinepackageinherited
137  {
138 
139  String type=ScimResourceUtil.getType(cls);
140  if (StringUtils.isEmpty(sortBy) || type==null)
141  sortBy=null;
142  else {
143  if (extService.extensionOfAttribute(cls, sortBy)==null) { //It's not a custom attribute...
144 
145  sortBy=ScimResourceUtil.stripDefaultSchema(cls, sortBy);
146  Field f=IntrospectUtil.findFieldFromPath(cls, sortBy);
147 
148  if (f==null){ //Not recognized!
149  log.warn("SortBy parameter value '{}' was not recognized as a SCIM attribute for resource {} - sortBy will be ignored.", sortBy, type);
150  sortBy=null;
151  //return getErrorResponse(Response.Status.BAD_REQUEST, ErrorScimType.INVALID_PATH, "sortBy parameter value not recognized");
152  }
153  else {
154  sortBy = FilterUtil.getLdapAttributeOfResourceAttribute(sortBy, cls).getFirst();
155  if (sortBy==null)
156  log.warn("There is no LDAP attribute mapping to sortBy attribute provided - sortBy will be ignored.");
157  }
158  }
159  else
160  sortBy = sortBy.substring(sortBy.lastIndexOf(":")+1);
161  }
162  return sortBy;
163 
164  }
Extension extensionOfAttribute(Class<? extends BaseScimResource > cls, String attribute)
Definition: ExtensionService.java:147
Logger log
Definition: BaseScimWebService.java:56
ExtensionService extService
Definition: BaseScimWebService.java:65

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.appConfiguration
packageinherited

◆ endpointUrl

String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.endpointUrl
packageinherited

◆ extService

ExtensionService org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.extService
packageinherited

◆ log

Logger org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.log
packageinherited

◆ resourceSchemas

Map<String, Class<? extends BaseScimResource> > org.gluu.oxtrust.ws.rs.scim2.SchemaWebService.resourceSchemas
private

◆ resourceSerializer

ScimResourceSerializer org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.resourceSerializer
packageinherited

◆ SEARCH_SUFFIX

final String org.gluu.oxtrust.ws.rs.scim2.BaseScimWebService.SEARCH_SUFFIX = ".search"
staticinherited

このクラス詳解は次のファイルから抽出されました: