Package com.sun.jini.config

Source Code of com.sun.jini.config.ConfigUtil

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
package com.sun.jini.config;

import net.jini.core.lookup.ServiceID;
import net.jini.id.Uuid;
import net.jini.id.UuidFactory;
import java.net.UnknownHostException;

/**
* A set of static convenience methods for use in configuration files.
* This class cannot be instantiated.
*
* @author Sun Microsystems, Inc.
* @since 2.0
* @see net.jini.config.ConfigurationFile
*/
public class ConfigUtil {
    /** This class cannot be instantiated. */
    private ConfigUtil() {
  throw new AssertionError(
            "com.sun.jini.config.ConfigUtil cannot be instantiated");
    }
     
    /**
     * Concatenate the strings resulting from calling {@link
     * java.lang.String#valueOf(Object)} on each element of
     * an array of objects. Passing a zero length array will result in
     * the empty string being returned.
     * @param objects the array of objects to be processed.
     * @return the concatenation of the return values from
     *         calling <code>String.valueOf</code> on each element of
     *         <code>objects</code>
     * @throws NullPointerException if <code>objects</code>
     *         is <code>null</code>.
     */
    public static String concat(Object[] objects) {
  if (objects.length == 0)
      return "";
 
  final StringBuffer buf = new StringBuffer(String.valueOf(objects[0]));
  for (int i=1; i<objects.length; i++)
      buf.append(objects[i]);

  return buf.toString();
    }

    /**
     * Return the local hostname.
     * @return the local hostname.
     * @throws UnknownHostException if no IP address for the local
     *         host could be found.
     */
    public static String getHostName() throws UnknownHostException {
   return java.net.InetAddress.getLocalHost().getCanonicalHostName();
    }
   
    /**
     * Returns the textual presentation of the local host IP address.
     * @return the textual presentation of the local host IP address.
     * @throws UnknownHostException if no IP address for the local
     *         host could be found.
     */
    public static String getHostAddress() throws UnknownHostException {
         return java.net.InetAddress.getLocalHost().getHostAddress();
    }


    /**
     * Returns a <code>String</code> whose characters, if parsed by a
     * {@link net.jini.config.ConfigurationFile}, would yield a
     * <code>String</code> equivalent to the passed argument.  This is
     * done by replacing CR and LF with their escape codes, quoting
     * '\' and '"' with '\', and enclosing the entire sequence in
     * double quotes. Additionally the tab, form feed, and backspace
     * characters will be converted to their escape codes and other control
     * characters (besides CR and LF) to octal escapes for better readability
     * if the string is printed for debugging purposes.
     *
     * @param string the string to turn into a string literal
     * @return a <code>String</code> that if parsed as sequence of
     *         of characters by <code>ConfigurationFile</code> would
     *         yield a <code>String</code> equivalent to <code>string</code>
     * @throws NullPointerException if <code>string</code> is
     * <code>null</code>
     */
    public static String stringLiteral(String string) { 
  final StringBuffer sb = new StringBuffer(string.length() + 2);
  sb.append('"');

  final char[] ca = string.toCharArray();
  for (int i = 0; i < ca.length; i++) {
      final char c = ca[i];
      if (c == '\\' || c == '"')
    sb.append("\\").append(c);
      else if (c == '\n')
    sb.append("\\n");
      else if (c == '\r')
    sb.append("\\r");
      else if (c == '\t')
    sb.append("\\t");
      else if (c == '\f')
    sb.append("\\f");
      else if (c == '\b')
    sb.append("\\b");
      else if (c < 0x20)
    sb.append("\\").append(Integer.toOctalString(c));
      else
    sb.append(c);
  }

  return sb.append('"').toString();
    }
   
    /**       
     * Returns a <code>ServiceID</code> constructed from a 128-bit value
     * represented by a string.  The supplied string representation must
     * be in the format defined by
     * {@link net.jini.core.lookup.ServiceID#toString ServiceID.toString},
     * except that uppercase hexadecimal digits are allowed.
     *
     * @param s the string representation to create the <code>ServiceID</code>
     * with   
     * @return a <code>ServiceID</code> with the value represented by the
     * given string
     * @throws IllegalArgumentException if the supplied string
     * representation does not conform to the specified format 
     * @throws NullPointerException if <code>s</code> is
     * <code>null</code>
     **/   
    public static ServiceID createServiceID(String s) {
  Uuid uuid = UuidFactory.create(s);
  return new ServiceID(uuid.getMostSignificantBits(),
           uuid.getLeastSignificantBits());
    }
    
}    
TOP

Related Classes of com.sun.jini.config.ConfigUtil

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.