Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014 Philip Helger ( philip[at]helger[dot]com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
public final class UserGroupMicroTypeConverter implements IMicroTypeConverter
  private static final String ATTR_ID = "id";
  private static final String ATTR_NAME = "name";
  private static final String ELEMENT_USER = "user";
  private static final String ELEMENT_ROLE = "role";
  private static final String ELEMENT_CUSTOM = "custom";
  public IMicroElement convertToMicroElement (@Nonnull final Object aObject,
                                              @Nullable final String sNamespaceURI,
                                              @Nonnull final String sTagName)
    final IUserGroup aUserGroup = (IUserGroupaObject;
    final IMicroElement eUserGroup = new MicroElement (sNamespaceURIsTagName);
    eUserGroup.setAttribute (aUserGroup.getID ());
    eUserGroup.setAttribute (aUserGroup.getName ());
    for (final Map.Entry <StringObjectaEntry : ContainerHelper.getSortedByKey (aUserGroup.getAllAttributes ())
                                                                  .entrySet ())
      final IMicroElement eCustom = eUserGroup.appendElement ();
      eCustom.setAttribute (aEntry.getKey ());
      eCustom.appendText (String.valueOf (aEntry.getValue ()));
    for (final String sUserID : ContainerHelper.getSorted (aUserGroup.getAllContainedUserIDs ()))
      eUserGroup.appendElement ().setAttribute (sUserID);
    for (final String sRoleID : ContainerHelper.getSorted (aUserGroup.getAllContainedRoleIDs ()))
      eUserGroup.appendElement ().setAttribute (sRoleID);
    return eUserGroup;
  public UserGroup convertToNative (@Nonnull final IMicroElement eUserGroup)
    final String sID = eUserGroup.getAttribute ();
    final String sName = eUserGroup.getAttribute ();
    final Map <StringStringaCustomAttrs = new LinkedHashMap <StringString> ();
    for (final IMicroElement eCustom : eUserGroup.getAllChildElements ())
      aCustomAttrs.put (eCustom.getAttribute (), eCustom.getTextContent ());
    final UserGroup aUserGroup = new UserGroup (sIDsNameaCustomAttrs);
    for (final IMicroElement eUser : eUserGroup.getAllChildElements ())
      aUserGroup.assignUser (eUser.getAttribute ());
    for (final IMicroElement eRole : eUserGroup.getAllChildElements ())
      aUserGroup.assignRole (eRole.getAttribute ());
    return aUserGroup;
New to GrepCode? Check out our FAQ X