Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## BEA WebLogic Server 9.0 API Reference

## weblogic.security.service
Class URLResource

    java.lang.Object
      weblogic.security.service.ResourceBase
          weblogic.security.service.URLResource

All Implemented Interfaces:
  Resource, SelfDescribingResource, SelfDescribingResourceV2, Serializable

public final class URLResource
extends ResourceBase

The `URLResource` class is used by a container to specify the URL resource (and method related to the resource) that a caller is attempting to access.

Case sensitivity of the contextPath and URI is determined by the WebAppFilesCaseInsensitive attribute on the `SecurityConfigurationMBean`. The default value is to handle the contextPath and URI as case sensitive on all platforms. The `weblogic.security.URLResourceCaseMapping` property can no longer be used to change behavior on the server command line.

The `toString` format (which is produced by the `ResourceBase` class) for a URL resource is:
`type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET`

See Also:
  Serialized Form

  Copyright © 2005 BEA Systems, Inc. All Rights Reserved.

Field Summary

Fields inherited from class weblogic.security.service.ResourceBase
`id, length, NO_PARENT, parent, resStr, SCOPE_RESOURCE_ACTION, values`

Fields inherited from interface weblogic.security.spi.SelfDescribingResource
`LIST_FIELD_TYPE, NORMAL_FIELD_TYPE, PATH_FIELD_TYPE, UNDEFINED_FIELD_TYPE`

Constructor Summary
`URLResource(String application, String contextPathArg, String uriArg, String httpMethod, String transportType)` Constructs a new `URLResource` with a target name composed from the `application`, `contextPath`, `URI`, `httpMethod`, and `transportType` parameters.

Method Summary
`boolean` | `equals(Object obj)` Compares this resource to the resource in the specified object.
`String` | `getApplicationName()` Gets the name of the application associated with the `URLResource`.
`String` | `getContextPath()` Gets the `URI` of the Web component.
`int` | `getFieldType(String fieldName)` Describe `getFieldType` method here.
`String` | `getHttpMethod()` Gets the HTTP method of the URL resource.
`String[]` | `getKeys()` Gets keys for the `URLresource`.
`int` | `getRepeatingFieldIndex()` `getRepeatingFieldIndex` returns an index into the array returned by `getKeys()` that signifies what part of the Resource's fields repeat as the hierarchy is traversed.
`int` | `getRepeatingFieldTerminatingIndex()` The field returned by `getRepeatingFieldIndex` is repeated as the Resource is shortened up to and including this field index.
`String` | `getTransportType()` Gets the transport guarantee required to access the `URLResource`.
`String` | `getType()` Gets the type of this resource (`URLResource`).
`String` | `getURI()` Gets the `URI` of the Web component.
`protected void` | `init(String[] values, int len, long seed, String httpMethod, String suffix, boolean URIUnchanged)` Initializes the `URLResource` with the array of values.
`protected Resource` | `makeParent()` Gets a `Resource` object that represents the parent of the current `URLResource`.
`boolean` | `mappingToLowerCase()` Returns true if we are mapping the contextPath and URI to lower case upon creation.

Methods inherited from class weblogic.security.service.ResourceBase
`appendArrayValue, appendValue, getID, getParentResource, getValues, hashCode, init, init, isTransitiveField, reset, toString, writeResourceString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### URLResource

    public URLResource(String application,
                       String contextPathArg,
                       String uriArg,
                       String httpMethod,
                       String transportType)

  Constructs a new `URLResource` with a target name composed from the `application`, `contextPath`, `URI`, `httpMethod`, and `transportType` parameters.

  For example, if the `web.xml` deployment descriptor in `mywebapp.war` (which is inside `myApp.ear`) contains the following elements:

  `<web-app>
  <security-constraint>
  <web-resource-collection>
  <web-resource-name>MyResource</web-resource-name>
  <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
  <role-name>MyRole</role-name>
  </auth-constraint>
  </security-constraint>
  ...
  </web-app>`

  If the URL to access the resource is `http://MyServer:MyPort/mywebapp/foo/bar/my.jsp?x=y`, then the context path is `"/mywebapp"`, the servlet path is `"/foo/bar/my.jsp"`, and the path info is "" (null).

  Finally, the `URLResource` is represented as `type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET`.

  This method will map the contextPath and URI to lower case if mappingToLowerCase() returns true.

Method Detail

### equals

    public boolean equals(Object obj)

  Compares this resource to the resource in the specified object.

  Specified by:
    `equals` in interface `Resource`
  Overrides:
    `equals` in class `ResourceBase`
  Parameters:
    `obj` - the other resource with which to compare this resource.

  Returns:
    `TRUE` if the resource passed in matches this resource, and `FALSE` otherwise.

  See Also:
    `Object.equals(Object)`

### getApplicationName

    public String getApplicationName()

  Gets the name of the application associated with the `URLResource`.

  Returns:
    the name of the application associated with the `URLResource`, represented as a String.

### getContextPath

    public String getContextPath()

  Gets the `URI` of the Web component.

  Returns:
    a String representing the `URI` of the Web component.

### getFieldType

    public int getFieldType(String fieldName)

  Description copied from interface: `SelfDescribingResource`
  Describe `getFieldType` method here.

  Specified by:
    `getFieldType` in interface `SelfDescribingResource`
  Overrides:
    `getFieldType` in class `ResourceBase`

### getHttpMethod

    public String getHttpMethod()

  Gets the HTTP method of the URL resource.

  Returns:
    the name of the HTTP method on the `URLResource`, represented as a String.

### getKeys

    public String[] getKeys()

  Gets keys for the `URLresource`.

  Specified by:
    `getKeys` in interface `Resource`
  Specified by:
    `getKeys` in class `ResourceBase`
  Returns:
    an array of Strings containing the `URLResource`'s keys.

### getRepeatingFieldIndex

    public int getRepeatingFieldIndex()

  Description copied from interface: `SelfDescribingResource`
  `getRepeatingFieldIndex` returns an index into the array returned by `getKeys()` that signifies what part of the Resource's fields repeat as the hierarchy is traversed. For example, in the `URLResource`, the `httpMethod` is repeated as the hierarchy is walked. A value of `-1` indicates that there are no repeating fields.

  Specified by:
    `getRepeatingFieldIndex` in interface `SelfDescribingResource`
  Overrides:
    `getRepeatingFieldIndex` in class `ResourceBase`

### getRepeatingFieldTerminatingIndex

    public int getRepeatingFieldTerminatingIndex()

  Description copied from interface: `SelfDescribingResource`
  The field returned by `getRepeatingFieldIndex` is repeated as the Resource is shortened up to and including this field index. After this field index the repetition is no longer applied.

  Specified by:
    `getRepeatingFieldTerminatingIndex` in interface `SelfDescribingResource`
  Overrides:
    `getRepeatingFieldTerminatingIndex` in class `ResourceBase`

### getTransportType

    public String getTransportType()

  Gets the transport guarantee required to access the `URLResource`.

  Returns:
    the transport guarantee required to access the `URLResource`.

### getType

    public String getType()

  Gets the type of this resource (`URLResource`).

  Returns:
    the type of this resource, represented as a String.

### getURI

    public String getURI()

  Gets the `URI` of the Web component.

  Returns:
    the `URI` of the Web component, represented as a String.

### init

    protected void init(String[] values,
                        int len,
                        long seed,
                        String httpMethod,
                        String suffix,
                        boolean URIUnchanged)

  Initializes the `URLResource` with the array of values. Computes a resource ID as a hash function of the resource type and each of its non-null values, then stores the suffix for later use.

  This method will not map the contextPath and URI to lower case. The caller must check the value of mappingToLowerCase() and map them if necessary.

  Parameters:
    `values` - the values with which to initialize the `URLResource`. The values must be in the same order as the `toString` prints them.

    `len` - the number of values to use. This can be less than the length of values, in which case the values greater than `len` will be ignored.

    `seed` - the random number to use in `getID` calculation.

    `httpMethod` - the HTTP method (for example, `"GET"`), or `null` if not applicable.

    `suffix` - the suffix of the file (for example, `".jsp"`) or `null` if not applicable.

    `URIUnchanged` - true if we have not changed the URI from how it was passed to us from the container. This is needed to special-case getParentResource().

### makeParent

    protected Resource makeParent()

  Gets a `Resource` object that represents the parent of the current `URLResource`. If the resource does not have a parent, the value of `null` must be returned.

  The parentage hierarchy for the `URLResource` (that is, the values returned from successive calls to this method) is:

  `type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET, transportType=confidential
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*, httpMethod=GET
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*
  type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/*, httpMethod=GET type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/* type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
  type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/
  type=<url>, application=myApp, contextPath="/mywebapp"
  type=<url>, application=myApp
  type=<app>, application=myApp
  type=<url>`

  Overrides:
    `makeParent` in class `ResourceBase`
  Returns:
    the `Resource` object of the parent resource.

### mappingToLowerCase

    public boolean mappingToLowerCase()

  Returns true if we are mapping the contextPath and URI to lower case upon creation.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs90 Copyright 2005 BEA Systems Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD